Zeichensatz: MySQL -> PHP -> HTML

Begonnen von maui muc, 04. März 2009, 20:39:06

Vorheriges Thema - Nächstes Thema

maui muc

Hallo Zusammen,
mit Zeichensätzen habe ich mich leider noch nie großartig auseinandersetzen müssen daher auch meine totale Ahnungslosigkeit. Hoffentlich könnt ihr mir bei dieses Sache etwas auf die Sprünge helfen.
Also zum Problem: Ich hab hier eine DB in der Text mit utf8 Zeichensatz codiert ist. Wenn ich ein Feld das einen Umlaut enthält mittels PHP abfrage und an den Browser ausgeben, ergibt das komische Hieroglyphen. Das finde ich etwas komisch weil Umlaute in utf8 eigentlich keine Schwierigkeiten machen sollten. Wenn ich Umlaute über PHP ausgebe oder direkt ins HTML schreibe zeigt der Browser die Umlaute ohne weiteres an.
Habt ihr eine Idee woran das liegen könnte?
Viele Grüße
Stefan

k00ni

Welchen Zeichensatz haben die Dateien (HTML, PHP)? Die sind bestimmt irgendwas mit ISO-8859-1. Das Problem ist nun, dass anhand der Datei der Browser im Zeichensatz ISO-8859-1 arbeitet und dann Daten bekommt, welche aber UTF-8 sind und stellt diese dann vermurkst dar.
Da bleibt dir nur eines: entweder deine Datenbank komplett auf ISO-8... oder die betroffenen Dateien auf UTF-8 umstellen (und ggf. Sonderzeichen anpassen).
 
Grüße

maui muc

Ne, daran liegt es nicht. Ich arbeite auf eine Linux-Kiste. Da ist so gut wie alles utf8.
Ich bin durch Zufall und mit ganz viel Glück auf ein Lösung gestoßen. Leider verstehe ich noch so recht was ich da mache. Und was ich vor allem nicht weiß, wie ich das der DB dauerhaft beibringe.  
Wenn ich vor der Abfrage folgenden Query ausführe klappt alles:  
mysqli_query($db,\"SET character_set_results = utf8;\");

 
 
Vgl.: http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html\" rel=\"external nofollow\">http://dev.mysql.com/doc/refman/5.1/en/charset-connection.html

all your base are belong to us