MySQL Problem mit Sonderzeichen

MaDoo

New Member
Hallo,

ich habe ein Problem mit den Sonderzeichen in MySQL.
Mein Script ist nicht in ANSI sondern UTF-8 gespeichert.
Ebenso läuft der Server auf UTF-8 und das Script sendet als Header Infomration auf utf-8 encoding (<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ).

Wenn ich jetzt via Script etwas in die DB eintragen lasse, welche z.b. ein "ö" enthält, landet es so in der DB "ö".
Wenn ich die DB via Script auslese, wird mir dieses in der DB vorhandene Zeichen "ö" als "ö" wieder dargestellt.
Wenn ich jedoch was via Phpmyadmin oder anderen MySQL Admin Tools in die DB eintrage, dass z.b. ein "ö" enthält, zeigt er es in der DB auch korrekt als "ö" an. Wenn ich diesen Eintrag jedoch später wieder auslese via Script, krieg ich lediglich das zu sehen "ö".

Aber warum? Warum zeigt er mit kein richtiges "ö" an und warum schreibt er "ö" wenn ich via Script was in die DB eintragen lasse?

Table Kollation ist: latin1_swedish_ci
 
Hallo
MaDoo said:
Table Kollation ist: latin1_swedish_ci
force4 said:
Dann stell die Kollation doch mal auf utf8_general_ci.
Was hat denn bitte die Collation mit dem Zeichensatz zu tun?
Diese beiden Dinge werden gerne Durcheinander gewürfelt.

Wichtig wäre vielmehr was in den Systemvariablen
character_set_client
und
character_set_connection
steht. Also welcher Standard-Zeichensatz verwendet wird.

phpmyadmin sendet und empfängt mit der richtigen Verbindungsvereinbarung, daher werden dort die Einträge auch korrekt in die Datenbank eingefügt und auch ausgelesen..

Das bedeutet, dass die Software, also das Script von MaDoo, im falschen Zeichensatz (in der falschen Verbindungsvereinbarung) sendet.


Wer mehr über das Thema erfahren möchte, kann sich ja mal den sehr guten Artikel (von Daniel Schlichtholz, dem Programmierer des Mysqldumpers) ansehen --> Die Umlautproblematik. Da wird alles wichtige zum Thema erklärt.

Grüße: Mahony25
 
Last edited by a moderator:
Habe den Artikel nun desöfteren gelesen, aber ich kriege den MySQL einfach nicht dazu, dass er via UTF8 und nicht latin sendet und empfängt. Wenn ich z.b. vorher den Datensatz mit php auf utf8 encode dann trägt er ihn richtig ein (mit Umaluten). Beim auslesen muss ich ihn jedoch dann wieder jedesmal mit php decoden :-\
Ich brauche wirklich dringend Hilfe :(
 
Back
Top