18.4. Umlaute, die in die Datenbank eingetragen wurden, werden nicht korrekt dargestellt. Keywords: Oracle | Datenbank | Umlaut | Zeichen | Sonderzeichen | Darstellung | Text | Zeichensatz | Sprache | Client
Antwort von Anton BangratzSowohl beim Eintragen als auch beim Auslesen der Daten in Textfeldern ist darauf zu achten, dass der verwendete Client die richtigen NLS/-Parameter verwendet. Die Clients bekommen diese Information über die Umgebungsvariablen NLS_LANG und ORA_NLS33. Der richtige Wert für NLS_LANG ist der Datenbank selber zu entnehmen. Hat die Datenbank zum Beispiel als Character Set die Einstellung WE8ISO8859P9, so sollte die Variable {SPRACHE}_{LAND}.WE8ISO8859P9 lauten, wobei {SPRACHE} und {LAND} nur für die Steuerung der Meldungen, die der Client zurückgibt, zuständig sind, und vom mit dem ORACLE-Client installierten Sprachpaket abhängig sind. Die Einstellung von ORA_NLS33 dient dazu, dem Client mitzuteilen, wo sich die Dateien befinden, die die Prompts in verschiedenen Sprachen beinhalten. Ein Beispiel für korrekte Einstellung: export ORACLE_HOME=/opt/oracle/OraHome1 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG GERMAN_GERMANY.WE8ISO8859P9 Nun ist es noch wichtig, dass die Variablen von PHP korrekt initialisiert werden. Dabei ist darauf zu achten, dass man beim Modul-PHP diese Variablen vor dem Start des Apache setzt - im Script apachectl ist beispielsweise ein guter Platz dafür. |
||
18.4. Umlaute, die in die Datenbank eingetragen wurden, werden nicht korrekt dargestellt. http://www.php-faq.de/q/q-oracle-umlaute.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |