Kleines MySQL / UTF-8 Problem

Es war einmal eine Datenbank deren Tabellen waren im UTF-8 Format. Auch die PHP Anwendung benutze UTF-8. Also wird einfach mittels:

mysql_connect($db_host, $db_name, $db_password);
mysql_select_db($db_name);

$sql = "SELECT * FROM Cubes WHERE ID = '" . $id . "' ORDER BY " . $NameLang;
$result = mysql_query($sql);

eine Verbindung aufgebaut und die Datenbank abgefragt. Nun könnte man annehmen das das ganze als UTF-8 zurück kommt aber wie so oft im Leben war dem nicht so. Die Umlaute etc. wurden falsch kodiert ausgeliefert. Die Lösung des Problemes ist glücklicherweise simpel und einfach (sobald man die Lösung kennt :) ) Es muss nach der Verbindung zur Datenbank die Verbindung auf UTF-8 umgestellt werden. Dies geschieht mittels mysql_query(„SET NAMES ‚UTF8′“);. Nun sieht das ganze so aus:

mysql_connect($db_host, $db_name, $db_password);
mysql_query("SET NAMES 'UTF8'");
mysql_select_db($db_name);

$sql = "SELECT * FROM Cubes WHERE ID = '" . $id . "' ORDER BY " . $NameLang;
$result = mysql_query($sql);

Und wieder ein Problem gelöst :)

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.