ich habe schon viel gegoogelt aber das Problem besteht weiterhin:
Umlaute werden nicht korrekt in der Datenbank gespeichert, wenn sie über ein Formular auf der Website eingegeben werden.
Habe folgendes Setup:
------------------------------------------
laut phpinfo:
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7
php core: default_charset no value no value
im header der seiten:
- Code: Select all
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
in der my.cnf steht:
- Code: Select all
character-set-server = latin1
collation-server = latin1_general_ci
Kollation in der MySQL-Datenbank laut phpmyadmin: latin1_general_ci
Umlaute werden als Fragezeichen "?" in der Datenbank gespeichert. Wenn ich den Input eines Formularfeldes direkt wieder ausgeben lasse, sehe ich die Umlaute korrekt. Der Server selbst scheint diese also richtig "durchzuschleusen". Der Fehler liegt meiner Meinung nach bei der Schnittstelle PHP->MySQL oder Apache->MySQL. In der MySQL-Datenbank selbst kann ich Umlaute im Edit-Mode "hart" rein schreiben und diese werden offensichtlich auch korrekt gespeichert, sowie auf der Website korrekt ausgegeben.
In phpmyadmin steht folgendes im Header:
- Code: Select all
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
das habe ich auch schon im header meiner website probiert und es bringt nichts.
Ist hier noch jemand der auch schon mit dem Problem zu kämpfen hatte? Freue mich über jeden Tipp!