Ludger Keitlinghaus: Unicode - Verständnisproblem

Beitrag lesen

Hi,

schreib doch mal einfach, was Dein "DB-Problem" ist!
Wenn ich in Java mittels eines UnicodeFormatters einen String codiere,
bekomme ich nacher so etwas heraus wie \u0040\u0065\u0023\u0030 o.ä..
Dieses ist doch jetzt gültiger Unicode oder nicht?

nein. Unicode ist entweder 8, 16, 24 oder 32 Bit "breit". "\u0040" z.B. ist nur eine Anweisung an die Umgebung Unicode spaeter zu Erstellen. Das muss die Umgebung aber natuerlich nicht machen sondern sie kann auch mit "\u0040" uninterpretiert weiterarbeiten.

Mal durchlesen: http://de.selfhtml.org/inter/unicode.htm

Ich verstehe nicht so recht, was ich zu sehen bekomme. Ob zB. mein
SQL-Query-Analyzer einen unicode-Wert intern direkt umwandelt, damit
der User es 'richtig' zu sehen bekommt. Bzw. wie so etwas überhaupt
abläuft.

Ja, das mit dem was man zu sehen bekommt ist tatsaechlich merkwuerdig. Es kann sein, dass Du "so etwas" zu sehen bekommst und es ist Unicode, der vier Byte pro Zeichen benoetigt.   ;-)

Wenn Unicode vorliegt, dann benoetigt die bearbeitende Routine auch (manchmal ;-) die Anweisung, dass es Unicode ist (bei MS SQL Server das 'N'). Wenn Du z.B. UTF-8 (eine spezielle Unicode-Variante) Code liest und die Routine weiss nicht, dass es Unicode ist oder unterstuetzt Unicode erst gar nicht, dann bekommst Du vielleicht "sowas SchA~nes" zu sehen (Umlaute 16Bit codiert).

(Ich habe mich in den letzten Monaten auch an verscheidenen Fronten (PDF-Erstellung, Perl, Perl-DBI, MS SQL Server) mit Unicode-Problemen herumschlagen duerfen). Nichtsdestotrotz "Unicode sit lieb" und "ISO-8859-? ist boese".   ;-)

Gruss,
Ludger

"Unicode im Aufwind?"