Ich habe bereits eine bestehende Kundendatenbank. In dieser sind diverse
Artikel eingetragen.
Ich m�chte das Sortiment jetzt um Asiatische Waren erweitern. Dabei kann es
gelegentlich zu asiatischen, meist chinesischen, Schriftzeichen kommen.
Diese w�rde ich gerne beibehalten.
Ich habe auf meinem loken Rechner sowie auf dem Datenbankserver bereits das
Sprachpaket nachinstalliert.
Ich kann jetzt alle Zeiche sauber lesen :-)
Jetzt das Problem.
Wenn ich in meine SQL-DB eintr�ge mache wird beim speichern meine Eingabe
durch "??" ersetzt.
Ich denke das Problem liegt an der Installation des SQL-Servers bzw. der
Datenbank.
Sie ist momentan auf
Latin1_General_CI_AS
eingestellt?
Gibt es eine M�glichkeit eine bereits vorhandene DB so zu �ndern, dass ich
die Schriftzeichen abspeichern kann?
Vielen Dank!
mit freundlichem Gru�
Michael
"Michael Engel" <derh...@arcor.de> schrieb ...
> Ich habe bereits eine bestehende Kundendatenbank. In dieser sind diverse Artikel eingetragen.
> Ich m�chte das Sortiment jetzt um Asiatische Waren erweitern. Dabei kann es gelegentlich zu asiatischen, meist chinesischen,
> Schriftzeichen kommen. Diese w�rde ich gerne beibehalten.
> Ich habe auf meinem loken Rechner sowie auf dem Datenbankserver bereits das Sprachpaket nachinstalliert.
> Ich kann jetzt alle Zeiche sauber lesen :-)
>
Na, das ist doch schon mal was!
> Jetzt das Problem.
> Wenn ich in meine SQL-DB eintr�ge mache wird beim speichern meine Eingabe durch "??" ersetzt.
> Ich denke das Problem liegt an der Installation des SQL-Servers bzw. der Datenbank.
> Sie ist momentan auf
> Latin1_General_CI_AS
> eingestellt?
> Gibt es eine M�glichkeit eine bereits vorhandene DB so zu �ndern, dass ich die Schriftzeichen abspeichern kann?
Die Spalten m�ssen als NVARCHAR(n) definiert werden, was Du via ALTER TABLE
oder �bers Management Studio �ndern kannst.
Wenn Du Zeichenketten �bergibst, so mu� diese mit N' eingeleitet werden,
INSERT INTO Tabelle(UnicodeSpalte) VALUES(N'Dieses w�re jetzt chinesisch');
Verwendest Parameter (ADO/.NET) so mu�t ebenfalls NVarChar als Typ angeben.
Siehe http://msdn.microsoft.com/de-de/library/ms191200.aspx
Gru� Elmar
Ich habe die Spalte �ber das Management Studio auf NVARCHAR(n) ge�ndert.
Leider keine besserung. Ich habe es mit einem ganz simplen INSERT Statement
versucht:
INSERT INTO Menue_Kat(Name,Buttontext) VALUES('China',N'??');
// Falls falsch angezeigt: INSERT INTO Menue_Kat(Name,Buttontext)
VALUES('China',N'ChinaZeichen');
M�ssen alle Spalten der Tabelle NVARCHAR sein?
> INSERT INTO Tabelle(UnicodeSpalte) VALUES(N'Dieses w�re jetzt
> chinesisch');
Wie gehe ich sicher, dass es sich um eine UnicodeSpalte handelt? Oder kann
ich das Einstellen/Einsehen?
Vielen Dank
Gru� Michael
"Elmar Boye" <Elm...@gmx.net> schrieb im Newsbeitrag
news:%23WMcaY6...@TK2MSFTNGP04.phx.gbl...
>
> Die Spalten m�ssen als NVARCHAR(n) definiert werden, was Du via ALTER
> TABLE
> oder �bers Management Studio �ndern kannst.
> Wenn Du Zeichenketten �bergibst, so mu� diese mit N' eingeleitet werden,
> INSERT INTO Tabelle(UnicodeSpalte) VALUES(N'Dieses w�re jetzt
> chinesisch');
>
> Verwendest Parameter (ADO/.NET) so mu�t ebenfalls NVarChar als Typ
> angeben.
> Siehe http://msdn.microsoft.com/de-de/library/ms191200.aspx
>
> Gru� Elmar
>
wo hast Du das versucht?
Da man hier nur "??" sieht:
Sind die Zeichen dort in Unicode (UTF-16)?
Verstehen tut der SQL Server n�mlich u. a. kein UTF-8. Siehe
http://msdn.microsoft.com/de-de/library/ms187828.aspx
"Grundlagen zu Unicode"
> M�ssen alle Spalten der Tabelle NVARCHAR sein?
Nur die in denen Du beliebige Zeichen speichern willst.
Wo Du mit westlichen Zeichens�tzen (was Latin1_General_CI_AS besagt) hinkommst
reicht varchar(n) - aber schon osteurop�ische Zeichens�tze (z. B. tschechisch)
lassen sich darin nicht speichern. Siehe
http://msdn.microsoft.com/de-de/library/ms187582.aspx
"Arbeiten mit Sortierungen"
> Wie gehe ich sicher, dass es sich um eine UnicodeSpalte handelt?
Das solltest Du im Management Studio sehen.
N[VAR]CHAR besagt, dass die Spalte Unicode-Daten aufnehmen kann.
Gru� Elmar