Reglas cuando tienes problemas con los juegos de caracteres:
-
Al crear la base de datos, use la codificación utf8:
CREATE DATABASE _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-
Asegúrese de que todos los campos de texto (varchar y texto) utilicen 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;
-
Cuando realice una conexión, haga esto antes de consultar/actualizar la base de datos:
SET NAMES utf8;
-
Con phpMyAdmin:elija UTF-8 cuando inicie sesión.
-
establezca la codificación de la página web en utf-8 para asegurarse de que todos los datos de publicación/obtención estén en UTF-8 (o tendrá que hacerlo, ya que la conversión es dolorosa...). Código PHP (primera línea en el archivo php o al menos antes de cualquier salida):
header('Content-Type: text/html; charset=UTF-8');
-
Asegúrese de que todas sus consultas estén escritas en codificación UTF8. Si usa PHP:
6.1. Si PHP admite código en UTF-8, simplemente escriba sus archivos en UTF-8.
6.2. Si php se compila sin compatibilidad con UTF-8, convierta sus cadenas a UTF-8 de esta manera:
$str = mb_convert_encoding($str, 'UTF-8', '<put your file encoding here');
$query = 'SELECT * FROM test WHERE name = "' . $str . '"';
Eso debería hacer que funcione.