sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Seleccionar filas de MySQL con caracteres japoneses

Reglas cuando tienes problemas con los juegos de caracteres:

  1. Al crear la base de datos, use la codificación utf8:

    CREATE DATABASE  _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  2. 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;
    
  3. Cuando realice una conexión, haga esto antes de consultar/actualizar la base de datos:

    SET NAMES utf8;
    
  4. Con phpMyAdmin:elija UTF-8 cuando inicie sesión.

  5. 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');
    
  6. 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.