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

PHP/MySQL-Kodierungsprobleme. � statt bestimmter Zeichen

Wie von anderen erwähnt, müssen Sie von Ende zu Ende in UTF8 konvertieren, wenn Sie "Sonderzeichen" unterstützen möchten. Das bedeutet Ihre Webseite, PHP, MySQL-Verbindung und MySQL-Tabelle. Die Webseite ist ziemlich einfach, verwenden Sie einfach das Meta-Tag für UTF8. Idealerweise würden Ihre Header auch UTF8 sagen.

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Stellen Sie Ihr PHP so ein, dass es UTF8 verwendet. Die Dinge würden wahrscheinlich trotzdem funktionieren, aber es ist eine gute Maßnahme, dies zu tun:

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
mb_http_input('UTF-8');

Für MySQL möchten Sie Ihre Tabelle in UTF8 konvertieren, ohne dass Sie exportieren/importieren müssen.

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8

Sie können und sollten mysql auf utf8 als Standard konfigurieren. Sie können aber auch die Abfrage ausführen:

 SET NAMES UTF8

als erste Abfrage nach dem Verbindungsaufbau und "konvertiert" Ihre Datenbankverbindung in UTF8.

Das sollte alle Ihre Zeichenanzeigeprobleme lösen.