Regeln bei Problemen mit Zeichensätzen:
-
Verwenden Sie beim Erstellen der Datenbank die utf8-Codierung:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
Stellen Sie sicher, dass alle Textfelder (varchar und text) UTF-8 verwenden:
CREATE TABLE _test.test ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;
-
Wenn Sie eine Verbindung herstellen, tun Sie dies, bevor Sie die Datenbank abfragen/aktualisieren:
SET NAMES utf8;
-
Mit phpMyAdmin - Wählen Sie UTF-8, wenn Sie sich anmelden.
-
Stellen Sie die Webseitencodierung auf utf-8 ein, um sicherzustellen, dass alle Post/Get-Daten in UTF-8 vorliegen (oder Sie müssen es tun, da das Konvertieren schmerzhaft ist ...). PHP-Code (erste Zeile in der PHP-Datei oder zumindest vor jeder Ausgabe):
header('Content-Type: text/html; charset=UTF-8');
-
Stellen Sie sicher, dass alle Ihre Abfragen in UTF8-Codierung geschrieben sind. Bei Verwendung von PHP:
6.1. Wenn PHP Code in UTF-8 unterstützt, schreiben Sie einfach Ihre Dateien in UTF-8.
6.2. Wenn PHP ohne UTF-8-Unterstützung kompiliert wurde, konvertieren Sie Ihre Zeichenfolgen wie folgt in UTF-8:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
Damit sollte es funktionieren.