Sonderzeichen aus MySQL-Datenbank zurückwandeln?

multimolti

Erfahrenes Mitglied
Hallo!

Ich habe ein Problem mit den Sonderzeichen, die aus meiner MySQL-DB kommen. Wenn ich z.B. "ä ö ü" da reinspeichere, und vorher durch diese Funktionen laufen lasse:
PHP:
mysql_real_escape_string(stripslashes(htmlentities("ä ö ü")), $mysql_handle);
Dann bekomme ich als Rückgabewert "ä ö ü" was ja nicht ganz so toll ist.

Habe schon gesucht, aber nichts gefunden, wie ich das rückgängig machen könnte. Gibts da eine fertige Funktion zu?
 
Wenn ich das mal wüsste :D

Also meine Datenbank ist auf Standardeinstellungen, ich glaube das ist dann ISO-Westeuropäisch oder UTF-9, und meine PHP-Ausgabe ist:
header("Content-type:text/html; charset=ISO-8859-1");

Mehr kann ich dir jetzt so mal kurz nicht sagen.
 
Hallo!

Ich habe ein Problem mit den Sonderzeichen, die aus meiner MySQL-DB kommen. Wenn ich z.B. "ä ö ü" da reinspeichere, und vorher durch diese Funktionen laufen lasse:
PHP:
mysql_real_escape_string(stripslashes(htmlentities("ä ö ü")), $mysql_handle);
Dann bekomme ich als Rückgabewert "ä ö ü" was ja nicht ganz so toll ist.

Habe schon gesucht, aber nichts gefunden, wie ich das rückgängig machen könnte. Gibts da eine fertige Funktion zu?

hats du in deinem script überhaupt eine wahl für den zeichenstaz getroffen?
denn das selbe problem hatte ich auch mal wo ich das vergessen hatte!

das sollte in deinem script im head bereich stehn

HTML:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />

oder so ähnlich
 
Schau mal was ich genau über deinem Post geschrieben habe... warst wahrscheinlich schon in der Post-Schreiben Ansicht, als ich es abgesandt habe, also konntest du es nicht lesen
 
Der Rückgabewert „ä ö ü“ deutet darauf hin, dass eine UTF-8-kodierte Zeichenkette mit dem ISO-8859-1-Zeichensatz interpretiert wird. Denn in UTF-8 entspricht „ä“ der Bytefolge 0xC3 0xA4, was im ISO-8859-1-Zeichensatz eben den Zeichen „Ó und „¤“ entspricht.

Zeichne die Ausgabe also mal als UTF-8-kodiert aus:
PHP:
header('Content-Type: text/html; charset=utf-8');
Oder konvertiere die Zeichenkette mithilfe der utf8_decode()-Funktion in den ISO-8859-1-Zeichensatz.
 
Zurück