Thread utf-8 und MS SQL Server unter Linux: FreeTDS
(20 answers)
Opened by steffenw at 2006-08-29 16:22
@GwenDragon, der Link ist gut:
http://support.microsoft.com/kb/232580/EN-US/ Microsoft Windows NT, SQL Server, Java, COM, and the SQL Server ODBC driver and OLEDB provider all internally represent Unicode data as UCS-2. Heißt soviel wie - wir können nur das. 1. Mit codepage "<%@ CodePage=65001 %>" kann man in der Windows-Umgebung UCS-2 schreiben und ASP macht automatisch utf-8. - Schöne heile Windows Welt. 2. ist das, was bei uns mit FreeTDS nicht funktioniert. Bei 3. steht dann die Lösung: Modify the application to use UCS-2 instead of UTF-8 encoding. 4. Store the actual UTF-8 data on the server using the BINARY/VARBINARY/IMAGE columns. Dann verlierst Du jede SQL-Kontrolle über die Daten, kannst nur noch lesen und schreiben. *** Wenn wir eine Datenbank mit ISO-8859-1 haben, dann kommen wir auch mit utf-8 an mit unserem Statement und den Hosteingabeparametern und müssen diese nach ISO-8859-1 umcodieren, zur Datenbank schicken und beim fetchen, das ISO-Zeugs wieder zurück in utf-8 codieren. Wahrscheinlich müssen wir den gleichen Weg bei UNICODE gehen. Statement und Hosteingabeparameter werden von utf-8 nach UCS-2 codiert, wir arbeiten dann in Windows-Manier. Und beim fetchen codieren wir von UCS-2 wieder nach utf-8 zurück. $SIG{USER} = sub {love 'Perl' or die};
|