dedlfix: UTF-8 Sorgen

Beitrag lesen

Tach!

Habe es nun hingekriegt das auf der Homepage alles korrekt dargestellt wird, gehe ich aber mit phpMyAdmin 2.11.9.6 in die DB, nur noch kryptische Zeichen zB. Möller statt Müller.
Es sieht aus wie utf8, aber das sind die Bytes.

Nein, das sind Zeichen. Der PMA zeigt Zeichen an, weil er mit MySQL die zu verwendende Zeichenkodierung auf seiner Verbindung ausgehandelt hat. Tatsächlich bekommt er die UTF-8-Bytesequenzen der Zeichen à und ¶ gesendet.

Das Fehlerbild kommt zustande, weil MySQL in einem früheren Vorgang von einer Latin1-Kodierung ausgegangen ist, tatsächlich aber UTF-8 gesendet bekam, so dass er die Bytesequenzen als einzeln Zeichen interpretiert hat. Somit sind die Zeichen à und ¶ gespeichert. Je nach konfigurierter Feld-Kodierung sind sie so oder so im Speicher abgelegt.

MySQL kennt also nicht die Kodierung, überzeuge Dich davon, indem Du in ein Select mal die UPPER(feldname)-Funktion einbaust: MySQL wird die Bytes nicht in Großbuchstaben umwandeln.

Dass es aber nicht Bytes sondern Zeichen sind, kannst du mit einem LOWER(feldname) nachvollziehen, denn dann sähest du 㶠statt ö.

dedlfix.