UNICODE Frage

25/03/2009 - 12:25 von Fudzzi | Report spam
Hallo NG,

Gibt es eine Möglichkeit die SQL - Verbindung so zu konfigurieren, dass der
SQL - Server Unicodeinhalt am Client in die lokale Clientcodepage
transformiert wird?

Für den Client soll sich die Ergebnismenge eines NVARCHAR - Feldes wie ein
normales VARCHAR - Feld verhalten. Allerdings sollte noch eine Umwandlung des
Datenbankinhaltes in die lokale Codepage erfolgen

Hintergrund des Problems:

Datenbankinhalt NVARCHAR - Unicode russisch

Clientcodepage Windows 1251 (Cyrillic)

Wenn nun über die Borland Database Engine BDE auf die DB-Inhalte zugegriffen
wird, werden am Client nur die invarianten Zeichen (1-126) korrekt angezeigt.
Die Zeichen 128 - 255 werden nur als Fragezeichen dargestellt.

Kann mir da jemand weiterhelfen??

Vielen Dank im Voraus
Gruß Olaf Thon (FUDZZI)
 

Lesen sie die antworten

#1 Elmar Boye
25/03/2009 - 17:43 | Warnen spam
Hallo Olaf,

Fudzzi schrieb:
Gibt es eine Möglichkeit die SQL - Verbindung so zu konfigurieren, dass der
SQL - Server Unicodeinhalt am Client in die lokale Clientcodepage
transformiert wird?



Das tut der SQL Server automatisch, wenn Konvertierung für Zeichendaten
aktiviert ist und die Anwendung eine ANSI (8-Bit) Zeichenfolge anfordert.

Für den Client soll sich die Ergebnismenge eines NVARCHAR - Feldes wie ein
normales VARCHAR - Feld verhalten. Allerdings sollte noch eine Umwandlung des
Datenbankinhaltes in die lokale Codepage erfolgen

Hintergrund des Problems:

Datenbankinhalt NVARCHAR - Unicode russisch

Clientcodepage Windows 1251 (Cyrillic)

Wenn nun über die Borland Database Engine BDE auf die DB-Inhalte zugegriffen
wird, werden am Client nur die invarianten Zeichen (1-126) korrekt angezeigt.



Auch die BDE sollte das automatisch können,
da sie die nativen Treiber verwendet.

Die Frage wàre, was ist das für ein Client?

Denn wenn der die Daten nicht als ANSI (8-Bit) abruft,
findet keine Konvertierung statt.

Windows selbst arbeitet intern primàr mit Unicode, hat aber
diverse Konvertiermöglichkeiten. Die meisten Programmiersprachen/
-umgebeungen implementieren das ihrerseits in ihren Bibliotheken.

Gruß Elmar

Ähnliche fragen