Wunderwaffe SET NAMES, SET CHARACTER SET

March 10th, 2010 § 6 comments

Nur zwei eine Zeilen Code reicht, 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'");

UPDATE: 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?

Danke an Oliver, damit hat sich der Aufwand nochmals um eine Zeile reduziert :)

§ 6 Responses to Wunderwaffe SET NAMES, SET CHARACTER SET"

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

What's this?

You are currently reading Wunderwaffe SET NAMES, SET CHARACTER SET at Lightseeker.

meta