Maison  >  Article  >  base de données  >  Quel est le jeu de caractères par défaut de MySQL

Quel est le jeu de caractères par défaut de MySQL

藏色散人
藏色散人original
2023-04-03 16:46:364879parcourir

Le jeu de caractères par défaut de MySQL est latin1, et ce jeu de caractères ne prend pas en charge le chinois, donc lorsque les données insérées contiennent du chinois, des caractères tronqués apparaîtront ou ne pourront pas être insérés dans la base de données dans la pratique de MySQL, il est recommandé d'utiliser utf8mb4 ; comme jeu de caractères par défaut.

Quel est le jeu de caractères par défaut de MySQL

L'environnement d'exploitation de ce tutoriel : système Windows 10, MySQL version 5.7, ordinateur Dell G3.

Quel est le jeu de caractères par défaut de MySQL ?

Le jeu de caractères par défaut lorsque MySQL est installé est latin1 et ne prend pas en charge le chinois. Par conséquent, lorsque les données insérées contiennent du chinois, des caractères tronqués apparaîtront ou les données ne pourront pas être insérées dans la base de données.

  • Le jeu de caractères par défaut de MySQL recommande d'utiliser utf8mb4 au lieu de utf8

MySQL utilise jusqu'à 3 octets pour stocker un caractère, il a donc la même signification que utf8mb3.

Et utf8mb4 est un sur-ensemble de utf8mb3, permettant d'utiliser jusqu'à 4 caractères pour stocker des caractères.

En pratique, il est recommandé d'utiliser utf8mb4 comme jeu de caractères par défaut. Si vous utilisez utf8, il peut y avoir de nombreux caractères rares, tels que "?", "?", "?", etc. la base de données MySQL (un message d'erreur similaire au suivant s'affichera : ERREUR 1366 (HY000) : Valeur de chaîne incorrecte : 'xF0xA0x86xB7' pour la colonne 'nom' à la ligne 1)

Affichez les jeux de caractères pris en charge par MySQL :

mysql> show character set;
+----------+---------------------------------+---------------------+--------+
| Charset  | Description                     | Default collation   | Maxlen |
+----------+---------------------------------+---------------------+--------+
| big5     | Big5 Traditional Chinese        | big5_chinese_ci     |      2 |
| dec8     | DEC West European               | dec8_swedish_ci     |      1 |
| cp850    | DOS West European               | cp850_general_ci    |      1 |
| hp8      | HP West European                | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian           | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European            | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European     | latin2_general_ci   |      1 |
| swe7     | 7bit Swedish                    | swe7_swedish_ci     |      1 |
| ascii    | US ASCII                        | ascii_general_ci    |      1 |
| ujis     | EUC-JP Japanese                 | ujis_japanese_ci    |      3 |
| sjis     | Shift-JIS Japanese              | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew               | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai                     | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean                   | euckr_korean_ci     |      2 |
| koi8u    | KOI8-U Ukrainian                | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek                | greek_general_ci    |      1 |
| cp1250   | Windows Central European        | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish              | latin5_turkish_ci   |      1 |
| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci |      1 |
| utf8     | UTF-8 Unicode                   | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode                   | ucs2_general_ci     |      2 |
| cp866    | DOS Russian                     | cp866_general_ci    |      1 |
| keybcs2  | DOS Kamenicky Czech-Slovak      | keybcs2_general_ci  |      1 |
| macce    | Mac Central European            | macce_general_ci    |      1 |
| macroman | Mac West European               | macroman_general_ci |      1 |
| cp852    | DOS Central European            | cp852_general_ci    |      1 |
| latin7   | ISO 8859-13 Baltic              | latin7_general_ci   |      1 |
| utf8mb4  | UTF-8 Unicode                   | utf8mb4_general_ci  |      4 |
| cp1251   | Windows Cyrillic                | cp1251_general_ci   |      1 |
| utf16    | UTF-16 Unicode                  | utf16_general_ci    |      4 |
| utf16le  | UTF-16LE Unicode                | utf16le_general_ci  |      4 |
| cp1256   | Windows Arabic                  | cp1256_general_ci   |      1 |
| cp1257   | Windows Baltic                  | cp1257_general_ci   |      1 |
| utf32    | UTF-32 Unicode                  | utf32_general_ci    |      4 |
| binary   | Binary pseudo charset           | binary              |      1 |
| geostd8  | GEOSTD8 Georgian                | geostd8_general_ci  |      1 |
| cp932    | SJIS for Windows Japanese       | cp932_japanese_ci   |      2 |
| eucjpms  | UJIS for Windows Japanese       | eucjpms_japanese_ci |      3 |
| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  |      4 |
+----------+---------------------------------+---------------------+--------+
41 rows in set (0.00 sec)

To définissez le jeu de caractères par défaut sur utf8mb4, vous devez définir les éléments suivants dans le fichier de configuration Variable :

[mysqld]
character-set-server = utf8mb4

[mysql]
default-character-set = utf8mb4

【Recommandation associée : tutoriel vidéo mysql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn