Die Lösung UTF8 & Akzente Inkompatibilität

Ich habe ein PHP script, welches die user-Inhalte in eine mysql-Datenbank (PHP 5.4, mysql 5.5.31)

Alle string-bezogene Felder in meiner Datenbank haben utf8_unicode_ci als Sortierung.

Meine (vereinfachte) code sieht wie folgt aus:

$db_handle = mysql_connect('localhost', 'username', 'password');
mysql_select_db('my_db');

mysql_set_charset('utf8', $db_handle);

//------ INSERT: First example -------
$s   = "je viens de télécharger et installer le logiciel";
$sql = "INSERT INTO my_table (post_id, post_subject, post_text) VALUES (1, 'subject 1', '$s')";
mysql_query($sql, $db_handle);

//------ INSERT: Second example -------
$s   = "EPrints and العربية";
$sql = "INSERT INTO my_table (post_id, post_subject, post_text) VALUES (2, 'subject 2', '$s')";
mysql_query($sql, $db_handle);
//------------- 

mysql_close($db_handle);

Das problem ist, der erste insert (lateinischer text mit der é Akzente) schlägt fehl, wenn ich diese Zeile auskommentieren:

mysql_set_charset('utf8', $db_handle);

Aber die zweite Abfrage (mix aus latin & Arabisch Inhalt) schlägt fehl, es sei denn, ich nenne mysql_set_charset('utf8', $db_handle);

Ich ve wurde kämpfen mit diesem für 2 Tage jetzt. Ich dachte UTF8 unterstützt, die Zeichen wie die Akzente, aber natürlich geht es nicht!

Wie kann ich dieses Problem beheben?

InformationsquelleAutor TheDude | 2013-07-03
Schreibe einen Kommentar