Dienstag, Januar 20, 2015

NLS_LANG für Oracle unter Windows

Vor ein paar Jahren habe ich hier eine ausgesprochen knappe Notiz untergebracht, um mich daran zu erinnern, den Registry-Schlüssel NLS_LANG unter Windows auf GERMAN_GERMANY.WE8PC850 zu setzen, um eine korrekten Darstellung von Umlauten in sqlplus zu erhalten. Dass man den Sachverhalt auch umfassend analysieren kann, hat mir jetzt Franck Pachot gezeigt, der das unterschiedliche Verhalten von WE8MSWIN1252 und WE8PC850 detailliert beschreibt: dabei ist WE8MSWIN1252 die default-Einstellung in der Registry und für GUI-Tools durchaus geeignet. Sqlplus allerdings ist ein DOS commend line Tool und verwendet eine andere Codepage - nämlich 850. Für die korrekte Darstellung innerhalb von sqlplus ist daher WE8PC850 gut geeignet - aber leider werden Daten, die aus sqlplus via spool in eine Datei geschrieben werden, die man dann mit einer Windows-Applikation (sagen wir: notepad.exe) öffnet, ebenfalls mit Codepage 850 kodiert - und das führt dann unter Umständen in der Ausgabe zu Problemen. Im Artikel wird der Sachverhalt noch genauer erläutert, aber ich breche die Nacherzählung an dieser Stelle ab und verweise auf die Quelle.

P.S.: vermutlich wusste ich das alles mal, hatte es aber inzwischen komplett aus meinem Gedächtnis gelöscht.

Keine Kommentare:

Kommentar veröffentlichen