Benutzer mit den meisten Antworten
Russische Schriftzeichen anzeigen COLLATE

Frage
-
Hallo,
ich habe auf meinem Testsystem eine Testdatenbank angelegt, da ein Kollege eine Datenbank für Russland auf unserem System erstellen möchte. Nun war seine Frage, ob es möglich ist russische Schriftzeichen anzeigen zu lassen. Ich habe mich also dran gemacht und eine Testdatenbank erstellt. Code:
Create Database Test Create Table Testing (ID int NOT NULL PRIMARY KEY, FirstName NVARCHAR(MAX) COLLATE Cyrillic_General_CI_AS_KS NOT NULL , LastName NVARCHAR(MAX) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, Street NVARCHAR(MAX) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, Nr NVARCHAR(10) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, PostCode NVARCHAR(20) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, City NVARCHAR(100) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, Country NVARCHAR(100) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, EMail NVARCHAR(150) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, BirthDate NVARCHAR(20) COLLATE Cyrillic_General_CI_AS_KS NOT NULL, Comment NVARCHAR(MAX) COLLATE Cyrillic_General_CI_AS_KS NOT NULL) INSERT INTO Testing VALUES( 1 ,'Olga' ,'Stroganova' ,'Льва Толстого' ,'13 б' ,'127006' ,'Москва' ,'Russia - Россия' ,'olga.stroganova@gmail.com' ,'24.11.1987' ,'Это всего лишь запись тест, чтобы увидеть, если отображаются русские буквы.' )
SELECT * FROM TestingWenn ich nun eine Abfrage mache bekomme ich folgendes Ergebnis
Was muss ich denn bitte noch beachten??
Vielen Dank.
Antworten
-
Hallo! Wenn Du die Spalten als Unicode definierst, solltest Du auch Unicode-Zeichenfolgen einfügen. Also mit dem N vor dem Hochkomma.
INSERT INTO Testing VALUES( 1 ,N'Olga' ,N'Stroganova' ,N'Льва Толстого' ,N'13 б' ,N'127006' ,N'Москва' ,N'Russia - Россия' ,N'olga.stroganova@gmail.com' ,N'24.11.1987' ,N'Это всего лишь запись тест, чтобы увидеть, если отображаются русские буквы.' ); SELECT * FROM Testing;
Die gewählte Collation ist für das Speichern von Unicode unerheblich, nur wenn Nicht-Unicode ins Spiel kommt. Zudem beeinflußt die Collation die Art der Sortierung und Textvergleiche.
Siehe auch MSDN Arbeiten mit Unicode-Daten und Serverseitige Programmierung mit Unicode.Siehe auch ein älteres Posting von Olaf Helper zu dem Thema:
http://social.msdn.microsoft.com/Forums/de-DE/e2d87e69-b593-4d97-9dc9-c6b48f3a3da5/zeichensatz-problematik
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Bearbeitet Christoph MuthmannEditor Donnerstag, 5. Dezember 2013 07:45 Links fehlten
- Als Antwort vorgeschlagen Olaf HelperMVP Donnerstag, 5. Dezember 2013 08:40
- Als Antwort markiert BCCsql Donnerstag, 5. Dezember 2013 09:08
Alle Antworten
-
Hallo! Wenn Du die Spalten als Unicode definierst, solltest Du auch Unicode-Zeichenfolgen einfügen. Also mit dem N vor dem Hochkomma.
INSERT INTO Testing VALUES( 1 ,N'Olga' ,N'Stroganova' ,N'Льва Толстого' ,N'13 б' ,N'127006' ,N'Москва' ,N'Russia - Россия' ,N'olga.stroganova@gmail.com' ,N'24.11.1987' ,N'Это всего лишь запись тест, чтобы увидеть, если отображаются русские буквы.' ); SELECT * FROM Testing;
Die gewählte Collation ist für das Speichern von Unicode unerheblich, nur wenn Nicht-Unicode ins Spiel kommt. Zudem beeinflußt die Collation die Art der Sortierung und Textvergleiche.
Siehe auch MSDN Arbeiten mit Unicode-Daten und Serverseitige Programmierung mit Unicode.Siehe auch ein älteres Posting von Olaf Helper zu dem Thema:
http://social.msdn.microsoft.com/Forums/de-DE/e2d87e69-b593-4d97-9dc9-c6b48f3a3da5/zeichensatz-problematik
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP - http://www.insidesql.org/blogs/cmu- Bearbeitet Christoph MuthmannEditor Donnerstag, 5. Dezember 2013 07:45 Links fehlten
- Als Antwort vorgeschlagen Olaf HelperMVP Donnerstag, 5. Dezember 2013 08:40
- Als Antwort markiert BCCsql Donnerstag, 5. Dezember 2013 09:08