Maison >base de données >tutoriel mysql >mysql définir un jeu de caractères
MySQL, en tant que puissante base de données open source, est largement utilisé dans la plupart des applications de divers secteurs. La configuration du jeu de caractères est un problème très important lors de l’utilisation de MySQL. Cet article explique comment définir le jeu de caractères MySQL pour aider les développeurs à utiliser correctement la base de données MySQL.
1. Le concept de jeu de caractères
Le jeu de caractères est une spécification sur la relation de mappage entre les codes et les caractères. Il spécifie la méthode de codage des caractères informatiques. Les jeux de caractères peuvent avoir des paramètres différents selon les systèmes de bases de données, et différents jeux de caractères ont des caractéristiques et des avantages différents. Par exemple, lors du traitement des caractères chinois, GB2312/GBK/GB18030 présente des avantages par rapport à Latin1/Latin7.
Dans MySQL, le jeu de caractères fait référence à l'encodage des données de caractères dans les bases de données, les tables et les colonnes. En termes simples, un jeu de caractères fait référence à la manière utilisée pour stocker et traiter les caractères et les chaînes.
Les jeux de caractères pris en charge dans MySQL incluent principalement les suivants : ASCII, GBK, GB2312, UTF-8, UTF-16 et ISO-8859, etc. Parmi eux, UTF-8 est le jeu de caractères le plus couramment utilisé dans MySQL car il prend en charge plusieurs langues, un format d'encodage flexible, un gain de place et d'autres avantages.
2. Comment définir le jeu de caractères MySQL
Dans la base de données MySQL, vous pouvez interroger le jeu de caractères pris en charge par la base de données via la commande, la méthode est la suivante :
SHOW CHARACTER SET;
Cette commande Les différents jeux de caractères disponibles pour MySQL peuvent être répertoriés, par exemple :
Charset | Description | Classement par défaut | Maxlen |
---|---|---|---|
big5 | Big5 Traditionnel Chinese | big5_chinese_ci | 2 |
dec8 | DEC Europe de l'Ouest | dec8_swedish_ci | 1 |
cp850 | DOS Europe de l'Ouest | cp850_general_ci | 1 |
hp8 | HP Europe de l'Ouest | hp8_english_ci | 1 |
koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
latin1 | iso-8859-1 Europe de l'Ouest | latin1_swedish_ci | 1 |
latin2 | iso-8859-2 Europe centrale | latin2_general_ci | 1 |
swe7 | 7bit suédois | swedish_ci | 1 |
ascii | US ASCII | ascii_general_ci | 1 |
ujis | EUC-JP Japonais | ujis_japanese_ci | 3 |
sjis | Shift-JIS Japonais | sjis_japanese_ci | 2 |
hebrew | iso-8859- 8 Hébreu | hebrew_general_ci | 1 |
tis620 | TIS620 Thai | tis620_thai_ci | 1 |
euckr | EUC-KR coréen | euckr_korean_ci | 2 |
koi8 u | KOI8-U Ukrainien | koi8u_general_ci | 1 |
gb2312 | GB2312 Chinois simplifié | gb2312_chinese_ci | 1 |
gbk | GBK Chinois simplifié | gbk_chinese_ci | 2 |
latin5 | iso-8859-9 turc | latin5_turkish_ci | 1 |
armscii8 | ARMSCII-8 arménien | armscii8_general_ci | 1 |
utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
cp866 | DOS russe | cp8 66_general_ci | 1 |
keybcs2 | DOS Kamenicky tchèque-slovaque | keybcs2_general_ci | 1 |
macce | Mac Europe Centrale | macce_general_ci | 1 |
macroman | Mac Europe de l'Ouest | macroman_general_ci | 1 |
cp852 | DOS Europe centrale | cp852_general_ci | 1 |
latin7 | iso-8859-13 Baltique | latin7_general_ci | 1 |
utf8mb4 | UTF-8 Unicode | utf8mb4_gener al_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 Arabe | cp1256_general_ci | 1 |
cp1257 | Windows Baltique | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binaire | Pseudo jeu de caractères binaire | binaire | 1 |
geostd8 | GE OSTD8 Géorgien | geostd8_general_ci | 1 |
cp932 | SJIS pour Windows japonais | cp932_japanese_ci | 2 |
eucjpms | UJIS pour Windows japonais | eucjpms_japanese_ci | 3 |
Lorsque nous créons une nouvelle base de données MySQL, nous pouvons définir le jeu de caractères par défaut de la base de données afin que les jeux de caractères de toutes les tables de la base de données utilisent ce jeu de caractères. Les étapes spécifiques sont les suivantes : 2.1 Vérifiez d'abord le jeu de caractères pris en charge par MySQL mysql> SHOW CHARACTER SET 2.2 Lors de la création d'une nouvelle base de données, ajoutez un paramètre de jeu de caractères CREATE DATABASE new_db CHARACTER SET utf8; Ou CREATE DATABASE new_db DEFAULT CHARACTER SET utf8; où utf8 est l'un des jeux de caractères couramment utilisés.
Pour que les champs de la table stockent et affichent correctement les données, nous devons définir le jeu de caractères de la table. Dans MySQL, le jeu de caractères d'une table peut être défini lors de la création de la table. Si le tableau a été créé, vous pouvez également le modifier via la commande Modifier. 3.1 Définir le jeu de caractères lors de la création de la table CREATE TABLE new_table ( Parmi eux, ENGINE=InnoDB est utilisé pour définir le moteur de stockage de la table, et CHARSET=utf8 est utilisé pour définir le jeu de caractères par défaut de la table. 3.2 Modifier le jeu de caractères de la table ALTER TABLE old_table CONVERT TO CHARACTER SET utf8; ou ALTER TABLE old_table MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8; Parmi elles, la commande CONVERT TO est utilisée pour modifier le tableau. Jeu de caractères par défaut, la commande MODIFY COLUMN permet de modifier le jeu de caractères d'une colonne du tableau.
Lors de la connexion au serveur MySQL, vous pouvez également définir le jeu de caractères pour l'opération. Ce paramètre de jeu de caractères est souvent appelé « jeu de caractères client » et fait référence au jeu de caractères des données transmises dans le client. 4.1 Afficher le jeu de caractères de la connexion actuelle mysql> SELECT @@character_set_connection; 4.2 Modifier le jeu de caractères de la connexion SET Character_set_connection = utf8; or mysql --default-character-set =utf8 -u root -p Parmi eux, la commande SET peut modifier le jeu de caractères par défaut de la connexion, et la commande --default-character-set peut spécifier le jeu de caractères client.
Dans certains cas, il peut être nécessaire d'activer d'autres paramètres de jeu de caractères de MySQL pour gérer certains scénarios rares de stockage et de conversion de données. À ce stade, vous devrez peut-être modifier le fichier de configuration MySQL - le fichier my.cnf. La modification de ce fichier peut nécessiter des droits d'administrateur. La méthode de modification est la suivante : 5.1 Rechercher le fichier my.cnf Sous Linux, le fichier my.cnf est généralement stocké dans le répertoire /etc/my.cnf ou /etc/mysql/my.cnf. Sous Windows, le fichier my.cnf est généralement stocké dans le répertoire d'installation de la base de données MySQL. 5.2 Modifier le fichier my.cnf Ajoutez l'instruction suivante dans le fichier my.cnf : [mysqld] Parmi eux, la commande Character_set_server est utilisée pour définir le jeu de caractères répertorié, la commande init_connect est utilisée pour définir automatiquement le jeu de caractères lors de la création d'une connexion.
MySQL est une base de données open source très populaire et son paramètre de jeu de caractères joue un rôle très important. La définition correcte du jeu de caractères de MySQL garantit une lecture, une écriture et un stockage normaux des données. Dans cet article, nous présentons les concepts de base des jeux de caractères MySQL, comment définir des jeux de caractères lors de la création de bases de données, de tables et de connexions, et comment modifier le fichier my.cnf pour activer davantage de paramètres de jeu de caractères. Ces connaissances peuvent mieux aider les développeurs. utilisez 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!