utf-8 macht Probleme. Frage zur mysql-config

Hallo,

Daten die aufgrund des fehlenden header(..) im Script im falschen Charset (ISO) in die DB geschrieben wurden, werden nun in UTF-8 natürlich mit Fragezeichen ausgegeben. Wenn du nun mit dem eingebauten header(...) ein Formular absendest und diese Daten in die DB schreibst, dann werden diese Daten auch UTF-8 in die DB geschrieben und es kommt zu keinen Problemen mehr.

Für die existenten Daten empfehle ich dir, dich mal in die Funktionen utf8_encode/utf8_decode (PHP) einzulesen.

Viele Grüße
Bloddy
 
Also ich habe das probiert mit dem Posten über das Formular, hat aber keine Wirkung gezeigt. Was mache ich falsch? header() wurde direkt zu Beginn in die Datei gesetzt.


Muss ich utf8_en/decode einmal zum "konvertieren" einsetzen oder immer, wenn eine Ausgabe erfolgen soll?

Danke
 
So, ich habe es nun einmal so probiert.

Bei einer Eingabe (INSERT) lasse ich den Text durch utf8_encode() laufen. Der Text wird dann so in die DB gelegt:

Code:
Das müssen wir ändern.

Ist das soweit richtig?

Die Ausgabe erfolgt dann durch utf8_decode(), indem ich den Text dadurch laufen lasse...



Ist das denn soweit korrekt mit den Zeichen in der Datenbank?

Danke


## Nachtrag

Ich habe noch einmal das Archiv durchsucht und habe einen Thread befunden:

http://www.tutorials.de/forum/php/253531-utf-8-unicode-problem.html?highlight=utf8

Dort ist die folgende Query aufgetaucht:

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

Es funktioniert damit einwandfrei :) Ich habe es wie im Thread besprochen direkt hinter das Connect gesetzt.
Kann es da bleiben, oder macht es dadurch irgendetwas schlimmes?
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück