PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP, MySQL und der Charset


Drexel
2005-10-12, 12:46:48
Ich ärger mich jetzt schon den ganzen Vormittag mit einem Problem rum und komme nicht weiter, ich hoffe Ihr könnt mir helfen.

In meiner Testumgebung läuft das so:
MySQL 4.1.. d.h. der Server kann mit UTF-8 umgehen.
Ich lese über PHP aus einer MySQL Datenbank Inhalte für Webseiten aus (den Title und die Überschrift der Webseite). Die Seiten sind UTF-8 codiert.

Bisher dachte ich das von meiner Testatenbank auch, gerade ist mir aber aufgefallen, dass die Datenbank zwar als default charset utf8 hat, die Tabellen aber latin1 (da ich sie wohl vom richtigen Server importiert habe, auf dem noch MySQL 4.0.. läuft). Mit meinen Webseitenscript werden nun alle Umlaute und andere deutschen Zeichen (äüöß) als Fragezeichen-Symbol dargestellt.
Wenn ich mir aber die Tabellen mit PHPMyAdmin anschaue und dort UTF-8 einstelle, sieht alles gut aus. Auf meinem richtigen Webserver sieht auch mein Skript gut aus (allerdings auch nur wenn ich als Seitenkodierung UTF-8 angebe), wie kann das sein, der Inhalt ist doch in Latin1 gespeichert und die Seiten in UTF-8 kodiert?

Kann mir das jemand erklären bzw. sagen wie ich PHP konfigurieren muss, damit es auch auf meinem Testserver alles richtig angezeigt wird?

Danke für Eure Hilfe.

The_Invisible
2005-10-12, 16:25:12
schon mal utf8_decode() versucht?

hatte mal so ein ähnliches problem und damit konnte ich es beheben

mfg

Drexel
2005-10-13, 08:14:28
Das hat leider auch nichts gebracht. Dadurch wird nur der Nachfolgende Buchstabe auch noch durch das Fragezeichen ersetzt..

Drexel
2005-10-13, 11:58:04
Wenn ich die ausgelesenen Daten mit utf8_encode bearbeite, dann gehts...