Regras quando você tem problemas com conjuntos de caracteres:
-
Ao criar o banco de dados, use a codificação utf8:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
Certifique-se de que todos os campos de texto (varchar e text) estejam usando 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;
-
Ao fazer uma conexão, faça isso antes de consultar/atualizar o banco de dados:
SET NAMES utf8;
-
Com phpMyAdmin - Escolha UTF-8 ao fazer login.
-
defina a codificação da página da web para utf-8 para garantir que todos os dados de postagem/obtenção estejam em UTF-8 (ou você terá que fazer isso, pois a conversão é dolorosa ..). Código PHP (primeira linha no arquivo php ou pelo menos antes de qualquer saída):
header('Content-Type: text/html; charset=UTF-8');
-
Certifique-se de que todas as suas consultas sejam escritas em codificação UTF8. Se estiver usando PHP:
6.1. Se o PHP suporta código em UTF-8 - apenas escreva seus arquivos em UTF-8.
6.2. Se o php for compilado sem suporte a UTF-8 - converta suas strings para UTF-8 assim:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
Isso deve fazê-lo funcionar.