sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

Vælg MySQL-rækker med japanske tegn

Regler, når du har problemer med tegnsæt:

  1. Mens du opretter databasen, brug utf8-kodning:

    CREATE DATABASE  _test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  2. 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;
    
  3. Når du laver en forbindelse, skal du gøre dette, før du forespørger/opdaterer databasen:

    SET NAMES utf8;
    
  4. Med phpMyAdmin - Vælg UTF-8, når du logger ind.

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



  1. Kan ikke tilføje en lagret procedure til databasen på grund af krypteringsmeddelelse

  2. Transponering af grupper af rækker med samme ID til en anden tabel

  3. Phpmyadmin fryser ved forespørgsel, db for stor?

  4. phpMyAdmin udløser gui-tjek alder