Nur zwei Zeilen Code reichen, um Herr über das Chaos der Zeichencodierung eines PHP-MySQL-Projektes zu werden. Falls jemand von euch auch mal vor dem Problem stehen sollte, dass Umlaute trotz aller Experimente die “Datenbank-Kollation” und “charset” auf UTF-8 umzustellen nicht wie gewünscht dargestellt bzw. abgelegt werden, dann spart euch erstmal den Versuch durch wildes Ersetzen der “krummen” Zeichen das Problem in den Griff zu bekommen. Versucht erst einmal folgende 2 Zeilen Code in eure Datenbank-Verbindung einzutragen:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");Im Gesamtzusammenhang könnte die Datenbankverbindung dann so aussehen:
<?php
$con = mysql_connect("localhost","user","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
?>Bei meinem Problem hat es Wunder gewirkt. Warum bin ich nicht schon viel früher darauf gestoßen?
March 10th, 2010
r:r
das war der entscheidende tip.
++thx+