Hallo liebe Leute!
Ich habe eine Mysql Datenbank, Version 5.1.41-3ubuntu12.3 und zum verwalten die neuste PhpMyAdmin Version 3.3.2deb1. Zusätzlich läuft Apache/2.2.14.
Anfangs war die gewünscht DB auf den Character Set latin1... eingestellt, es gab soweit keine Prbleme mit Umlaute.
Dieser charset war als Standard eingestellt und ich hatte nicht darauf geachtet. Jetzt ist es mir aufgefalln und dachte mir, dass es besser wäre auf charset utf8 collation utf8_general_ci umzustellen, weil ich die ganzen PHP Files auch utf8 kodiert speichere und die HTML Ausgabe ebenfalls utf8 ist.
Die Ausgabe der ausgelesenen Datensätze aus der DB erfolgt mit
echo htmlentities(stripslashes($ausgabe_aus_db), ENT_QUOTES, 'UTF-8');
Selbst nach der Umstellung der DB und allen zugehörigen Tabellen von latin1... auf utf8 und collation utf8_general_ci gabs bei der Webseitenausgabe keinerlei Probleme.
Auch bei normaler ausgabe der aus der DB ausgelesenen Daten gibts keine Probleme, mit
echo htmlentities(stripslashes($ausgabe_aus_db), ENT_QUOTES, 'UTF-8');
steht im Quellcode dann für ä zb. ä
und mit einem normalen
echo $ausgabe_aus_db;
steht im Quellcode direkt das ä und wird auch richtig angezeigt.
Tja und wenn ich mir die Datensätze die in der DB stehen mit PhpMyAdmin anschaue, dann sehe ich die utf8 kodierten Zeichen für die Umlaute, z.B. statt ä steht ä. Dementsprechend dürfte die utf8 kodierung der Eingaben auf der Website in die DB richtig funktionieren, aber PhpMyAdmin zeigt mit die kodierten Einträge an und dekodiert sie nicht wenn ich das richtig verstehe.
Wenn ich mit PhpMyAdmin die Umlaute in die DB eintrage werden sie mir in PhpMyAdmin richtig angezeigt (ä und nicht ä) und auch auf der Website werden die Zeichen richtig dargestellt.
Wo kann das Problem liegen, dass die über die Website eingegebenen Umlaute im PhpMyAdmin nicht richtig angezeigt werden?
In der Apache config ist auch folgendes eingetragen:
AddDefaultCharset UTF-8
Ich hoffe, dass mir jemand behilflich sein kann :)
LG Emanuel