Mir ist aufgefallen, dass Sie diese Abfrage ausführen ... mysql_query('SET CHARACTER SET utf8');
Versuchen Sie, das so zu ändern...
mysql_query("SET NAMES 'utf8'");
Das sollte sicherstellen, dass die Verbindung UTF-8 ist.
Versuchen Sie auch, die Liste der Elemente in diesem Artikel durchzugehen ... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Hier sind die Schritte aufgeführt, die erforderlich sind, um sicherzustellen, dass Sie UTF-8 von vorne nach hinten in Ihrer Site/Anwendung verwenden, aber zusammengefasst:
- Überprüfen Sie, ob Sie die mbstring-Erweiterung von PHP und
mb_internal_encoding('UTF-8');
haben in Ihrem Skript festlegen. - Stellen Sie sicher, dass Sie diese MySQL-Abfrage ausführen, nachdem Sie sich mit Ihrer Datenbank verbunden haben
mysql_query("SET NAMES 'utf8'");
was sicherstellt, dass die Verbindung UTF-8 ist. - Legen Sie den HTTP-Header Ihrer Ausgabe fest...
header('Content-type: text/html; charset=UTF-8');
. Dies scheint nicht erforderlich zu sein, wenn Siemb_internal_encoding()
gesetzt haben oben, aber nützlich zum Debuggen - Stellen Sie sicher, dass die Ausgabekodierung Ihrer HTML-Seite eingestellt ist...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />