Regler, når du har problemer med tegnsæt:
-
Mens du opretter databasen, brug utf8-kodning:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
Sørg for, at alle tekstfelter (varchar og tekst) bruger UTF-8:
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;
-
Når du laver en forbindelse, skal du gøre dette, før du forespørger/opdaterer databasen:
SET NAMES utf8;
-
Med phpMyAdmin - Vælg UTF-8, når du logger ind.
-
sæt websidekodning til utf-8 for at sikre, at alle post/hent-data vil være i UTF-8 (ellers bliver du nødt til det, da konvertering er smertefuldt..). PHP-kode (første linje i php-filen eller i det mindste før ethvert output):
header('Content-Type: text/html; charset=UTF-8');
-
Sørg for, at alle dine forespørgsler er skrevet i UTF8-kodning. Hvis du bruger PHP:
6.1. Hvis PHP understøtter kode i UTF-8 - skriv blot dine filer i UTF-8.
6.2. Hvis php er kompileret uden UTF-8-understøttelse - konverter dine strenge til UTF-8 sådan her:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
Det burde få det til at fungere.