Hi,
ich habe das weitläufig im Internet bekannte Sonderzeichenproblem bei dem Einsatz von oracle in php. Ich habe schon alles getestet was ich mir dazu anlesen konnte jedoch habe ich noch keine Lösung für mein Problem gefunden :-(
Mein Problem stellt sich wie folgt da: Speichere ich einen Umlaut oder ein Sonderzeichen in die Datenbank z. B. ein § - Zeichen dann wird dieses laut meinem oracle client (sowohl auf windows wie auch auf linux Seite) richtig eingetragen. Gebe ich diese Textzeile nun wieder aus ohne Sonderzeichen zu maskieren so erhalte ich auch genau das was ich sehen will. Gebe ich nun jedoch dieses Sonderzeichen in einem input Feld wieder aus oder maskiere ich es mit htmlentities() dann erhalte ich jeweils ein für mich sonst unsichtbares Sonderzeichen §.
So gehe ich jetzt hin und gebe genau diese Variable in meine Logdatei aus dann schreibt er dieses Sonderzeichen ebenfalls - wandle ich den Text mit iconv von UTF-8 nach ISO-8859-1 um - dann steht der Text im Logfile richtig. Das ist jedoch sehr strange da ich mt folgenden Einstellunge sicherstellen wollte, dass alles auf UTF-8 läuft:
in der /etc/init.d/apache2:
im html header jeder Datei:
im html Formular:
zu Beginn jeder php Seite:
Ich vermute also, dass es noch irgendwo eine Einstellung gibt, die dafür sorgt, dass etwas mit der Codierung nicht so läuft wie es sollte.
Kann mir jemand einen Ansatz liefern was ich noch machen kann?
ich habe das weitläufig im Internet bekannte Sonderzeichenproblem bei dem Einsatz von oracle in php. Ich habe schon alles getestet was ich mir dazu anlesen konnte jedoch habe ich noch keine Lösung für mein Problem gefunden :-(
Mein Problem stellt sich wie folgt da: Speichere ich einen Umlaut oder ein Sonderzeichen in die Datenbank z. B. ein § - Zeichen dann wird dieses laut meinem oracle client (sowohl auf windows wie auch auf linux Seite) richtig eingetragen. Gebe ich diese Textzeile nun wieder aus ohne Sonderzeichen zu maskieren so erhalte ich auch genau das was ich sehen will. Gebe ich nun jedoch dieses Sonderzeichen in einem input Feld wieder aus oder maskiere ich es mit htmlentities() dann erhalte ich jeweils ein für mich sonst unsichtbares Sonderzeichen §.
So gehe ich jetzt hin und gebe genau diese Variable in meine Logdatei aus dann schreibt er dieses Sonderzeichen ebenfalls - wandle ich den Text mit iconv von UTF-8 nach ISO-8859-1 um - dann steht der Text im Logfile richtig. Das ist jedoch sehr strange da ich mt folgenden Einstellunge sicherstellen wollte, dass alles auf UTF-8 läuft:
in der /etc/init.d/apache2:
Code:
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_LANGUAGE=AMERICAN
im html header jeder Datei:
Code:
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
im html Formular:
Code:
<form ... accept-charset="UTF-8">
zu Beginn jeder php Seite:
Code:
header("Content-Type: text/html;charset=utf-8");
Ich vermute also, dass es noch irgendwo eine Einstellung gibt, die dafür sorgt, dass etwas mit der Codierung nicht so läuft wie es sollte.
Kann mir jemand einen Ansatz liefern was ich noch machen kann?