kamal
04.12.08, 10:54
Hallo
folgende Situation tritt auf bei der Übergabe von Strings mit Umlauten zwischen Html-Formularen
und Mysql per PHP. Der FF steht auf utf-8, die geladene Seite hat im Html-Head auch utf-8 stehen.
Wenn nun Umlaute in ein Html-Formular eingegeben werden, werden sie mit PHP wie folgt in die DB
geschrieben:
$field1=$_POST['field1'];
$queryinsertstr=sprintf("insert into tablex (...) values (...)",$field1, $field2);
$result=@mysql_query($queryinsertstr);
Ruft man umgekehrt die Daten zur Darstellung mit PHP wieder ab, werden die Umlaute korrekt dargestellt.
Soweit sieht alles gut aus.
Jetzt zum Problem. Geht man über Confixx in Phpmyadmin hinein und ruft dort die Daten ab, sieht man
die üblichen 2 Sonderzeichen jeweils pro Umlaut, obwohl auch hier alles auf utf8 steht.
(Browser, Html-Head, Datenbank, Tabellen)
Gibt man Umlaute über Phpmyadmin ein, werden sie wiederum in Phpmyadmin selbst korrekt angezeigt, in
der PHP-Anwendung jedoch nicht. Ändere ich den FF auf ISO werden diese Umlaute, die über Phpmyadmin eigegeben wurden, auch in der PHP-Anwendung richtig angezeigt.
Die Frage wäre nun woran es liegen kann, dass sich meine PHP-Anwendung und Phpmyadmin unterschiedlich verhalten, obwohl alles was möglich ist auf utf8 steht?
Bin für jeden Hinweis dankbar.
Gruß Kamal
folgende Situation tritt auf bei der Übergabe von Strings mit Umlauten zwischen Html-Formularen
und Mysql per PHP. Der FF steht auf utf-8, die geladene Seite hat im Html-Head auch utf-8 stehen.
Wenn nun Umlaute in ein Html-Formular eingegeben werden, werden sie mit PHP wie folgt in die DB
geschrieben:
$field1=$_POST['field1'];
$queryinsertstr=sprintf("insert into tablex (...) values (...)",$field1, $field2);
$result=@mysql_query($queryinsertstr);
Ruft man umgekehrt die Daten zur Darstellung mit PHP wieder ab, werden die Umlaute korrekt dargestellt.
Soweit sieht alles gut aus.
Jetzt zum Problem. Geht man über Confixx in Phpmyadmin hinein und ruft dort die Daten ab, sieht man
die üblichen 2 Sonderzeichen jeweils pro Umlaut, obwohl auch hier alles auf utf8 steht.
(Browser, Html-Head, Datenbank, Tabellen)
Gibt man Umlaute über Phpmyadmin ein, werden sie wiederum in Phpmyadmin selbst korrekt angezeigt, in
der PHP-Anwendung jedoch nicht. Ändere ich den FF auf ISO werden diese Umlaute, die über Phpmyadmin eigegeben wurden, auch in der PHP-Anwendung richtig angezeigt.
Die Frage wäre nun woran es liegen kann, dass sich meine PHP-Anwendung und Phpmyadmin unterschiedlich verhalten, obwohl alles was möglich ist auf utf8 steht?
Bin für jeden Hinweis dankbar.
Gruß Kamal