seeseekey.net - Invictus Deus Ex Machina

Es war ein­mal eine Daten­bank deren Tabel­len waren im UTF-8 For­mat. Auch die PHP Anwen­dung benutze UTF-8. Also wird ein­fach 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 Ver­bin­dung auf­ge­baut und die Daten­bank abge­fragt. Nun könnte man anneh­men das das ganze als UTF-8 zurück kommt aber wie so oft im Leben war dem nicht so. Die Umlaute etc. wur­den falsch kodiert aus­ge­lie­fert. Die Lösung des Pro­ble­mes ist glück­li­cher­weise sim­pel und ein­fach (sobald man die Lösung kennt :) ) Es muss nach der Ver­bin­dung zur Daten­bank die Ver­bin­dung auf UTF-8 umge­stellt wer­den. Dies geschieht mit­tels mysql_query(„SET NAMESUTF8‘“);. 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 wie­der ein Pro­blem gelöst :)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>