Seite 1 von 1

Umlaute umkonvertieren

Verfasst: 02.04.2008 19:56
von SDSL
Ich habe ein Skript geschrieben, das auf eine phpbb-Tabelle zugreift.
Alles klappt wunderbar.

Code: Alles auswählen

$sql = 'SELECT topic_title,topic_id,topic_last_post_time FROM `phpbb_topics` WHERE `forum_id` = 3 ORDER BY `topic_last_post_time` DESC LIMIT 0, 5 ' or die(mysql_error());
$ergebnis = mysql_query($sql);

while ($row = mysql_fetch_array($ergebnis, MYSQL_NUM)) {
    //printf("ID: %s  Name: %s", $row[0], $row[1]);  

$link = $row[1];
$title = $row[0];
$time = $row[2];
//$title = htmlspecialchars($title);
   $d1 = array("ä" , "ö", "ü", "ß", "Ä", "Ö", "Ü");
   $d2 = array("ä" , "ö", "ü", "ß", "Ä", "Ö", "Ü");
   $title = str_replace($d1, $d2, $title);
   


mysql_free_result($ergebnis);
mysql_close();
Das Problem ist, dass folgendes ausgegeben wird:
... Sonderedition f�r Japan

Anscheinend werden alle Umlaute falsch dargestellt, ich habe schon verschiedene Möglichkeiten versucht, um die Daten aus der Tabelle umzuwandeln, bisher ohne Erfolg.

In der Tabellen werden die Daten unformatiert gespeichert, also als
Sonderedition für Japan.
Anführungszeichen z.B. werden korrekt dargestellt, der Browser hat keine Probleme damit.

Im PHPMyAdmin steht zu dieser Spalte:
topic_title varchar(100) utf8_unicode_ci Nein


Was mache ich falsch? Danke.

Verfasst: 03.04.2008 15:22
von SDSL
hat sich erledigt

Verfasst: 03.04.2008 17:26
von Boecki91
Kannst du kurz sagen wie du das Problem zu lösen ist?

So ein Problem ist schließlich selten und guter Rat meist nicht so schnell zu finden(sonst hättest du es ja sofort gefunden)

Verfasst: 03.04.2008 17:39
von SDSL
Ich habe htmlentities benutzt. Ich habe das als erstes versucht und es klappt nicht. Vermutlich habe ich mich beim Variablennamen verschrieben gehabt. Dann habe ich alles mögliche ausprobiert. Letztendlich habe ich glücklicherweise doch nochtmal htmlentities eingesetzt und es funktionierte daraufhin.

Trotzdem komisch, dass str_replace nicht klappte...