MySQL Kodierung
Shaguar
- datenbank
Hallo zusammen,
ich lese aus einer Textdatei Namen aus und speichere diese dann in der Datenbank. Beim auslesen der Datenbank kommen allerdings alls Umlaute kodiert heraus, zum Beispiel so :
verrc006b007400650020Reise
statt verrückte Reise
oder
Rc006b006b00650068r
statt Rückkehr
Wenn ich über mein Formular Daten in die Datenbank speichere, dann wird das ü zb automatisch in ü umgewandelt und bei auslesen wieder dekodiert.
Also hab ich als erstes versucht nach dem auslesen das Daten aus der Textdatei die Umlaute manuell zu ersetzen
str_replace('ü','ü',$Text);
hat auch nicht funktioniert.
Weiss jemand wie ich die Strings kodieren kann damit sie richtig gespeichert und ausgegeben werden?
Mfg
echo $begrüßung;
Weiss jemand wie ich die Strings kodieren kann damit sie richtig gespeichert und ausgegeben werden?
Du solltest dem MySQL-Server mitteilen, welche Kodierung du bevorzugst. Siehe MySQL-Handbuch Kapitel Character Set Support. Die allgemeine Vorgehensweise, um dieses Problem nicht zu haben, ist bereits auf der Einstiegsseite erwähnt.
echo "$verabschiedung $name";
hallo es gibt auch ein mysql handbuch auf deutsch zum downloaden. Und da kannst du mal nach decode() und encode() suchen.
hatte letztens auch etwas codiert und bin folgendermassen vorgegangen:
zuerst die slashes die durch magic quotes gesetzt wurden wieder entfernt und die php mysql function mysql_real_escape_string () sowohl bei der mysql function encode wie decode() benutzt.
ungefähr so:
sql .= 'ENCODE(''.mysql_real_escape_string($eintrag, $mysql_handler).','verschluesselungswort'), .............
und so
sql .= 'DECODE(''.mysql_real_escape_string($eintrag, $mysql_handler).','verschluesselungswort'), .............
und dann hats irgendwie funktioniert.
grüße carsten
vielleicht hattest du doch etwas anderes gemeint gehabt :-)
, aber .. naja .. jetzt ist's gepoststet.
grüße carsten