Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beim Abrufen von Werten in der MySQL-Datenbank werden seltsame Zeichen angezeigt

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 Sie mb_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" />