dedlfix: & PHP: MySQL5 Umlaute Problem

Beitrag lesen

echo $begrüßung;

ich habe gerade bei meinem Hoster von der MySQL-Version 4 auf 5 umgestellt.
Da fängst das Problem auch schon an. Ich habe alle Inhalte der MySQL 4 DB in die 5 eingefügt.

Du hast die Zeichenkodierung nicht beachtet. MySQL hat in Version 4.1 ein neues Zeichenkodierungskonzept implementiert. Als Anwender tut man gut daran, sich damit zu beschäftigen, wenn man keinen Datenverlust haben möchte: MySQL-Handbuch-Kapitel Character Set Support

Wie/womit erfolgte der Export? Stehen die alten Daten noch in der alten Datenbank zur Verfügung oder zumindest die Export-Datei? Wie/womit erfolgte der Import?

Wenn ich jetzt meine HP aufrufen, kommen alle umlaute als ?.

Was zeigt der phpMyAdmin an? Wenn der die Umlaute auch schon falsch anzeigt, kannst du den Inhalt der neuen Datenbank löschen und ihn neu importieren.
Wenn das nicht möglich ist: Wie sehen die Umlaute nun aus? Sind sie Fragezeichen, dann kannst du die Daten nur zu Fuß korrigieren. Bestehen sie aus zwei Zeichen, lässt sich noch was korrigieren.

Kann ich irgendwie in MySQL 5 einstellen, das es die Umlaute ausgibt?

Wenn der PMA alles richtig anzeigt, hast du nur ein Problem mit der Verbindung zwischen deinen Scripten und der Datenbank. Seit MySQL 4.1 ist es immer eine gute Idee, die für die Verbindung zu verwendende Kodierung explizit festzulegen. Welche Default-Einstellungen der MySQL-Server hat, zeigt der PMA auf der Seite "MySQL-System-Variablen anzeigen" an. Die Werte beginnen mit "character set". Falls eine Zeile "(Globaler Wert)" existiert, gilt dieser.

echo "$verabschiedung $name";