Maison >base de données >tutoriel mysql >conversion d'encodage MySQL
MySQL est un système de gestion de base de données relationnelle open source utilisé pour stocker et gérer des données. Lors de l’utilisation de MySQL, il est parfois nécessaire d’encoder les données. La conversion d'encodage fait référence à la conversion d'un codage de jeu de caractères en un autre codage de jeu de caractères. Les codages de jeux de caractères courants incluent UTF-8, GBK, GB2312, etc.
Dans MySQL, vous pouvez utiliser la fonction convert et la fonction cast pour effectuer une conversion d'encodage.
La fonction de conversion peut convertir une chaîne d'un codage de jeu de caractères à un autre codage de jeu de caractères. La syntaxe est la suivante :
convert(expr,charset,[binary])
Parmi eux, expr est la chaîne qui doit être convertie, charset est le jeu de caractères du codage cible, et binaire est un paramètre facultatif qui spécifie s'il faut utiliser le mode binaire pour la conversion.
Par exemple, convertissez une chaîne encodée en gb2312 en une chaîne encodée en utf8 :
SELECT CONVERT('中国',CHARACTER SET utf8);
Le résultat de l'exécution est :
+---------------+ | CONVERT('中国',CHARACTER SET utf8) | +---------------+ | 中国 (中文字符) | +---------------+
La fonction cast peut également être utilisée pour convertir une chaîne d'un encodage de jeu de caractères à un autre. La syntaxe est la suivante :
cast(expr as type)
Parmi eux, expr est la chaîne qui doit être convertie et type est le type d'encodage du jeu de caractères cible .
Par exemple, convertissez une chaîne encodée en gbk en une chaîne encodée en utf8 :
SELECT CAST('中国' as CHAR CHARACTER SET utf8);
Le résultat de l'exécution est :
+------------------------------------+ | CAST('中国' as CHAR CHARACTER SET utf8) | +------------------------------------+ | 中国 | +------------------------------------+
Il devrait être a noté que la fonction cast ne peut convertir que les types de données existants en différents types de données. Si les types de données eux-mêmes ne correspondent pas, la conversion via la fonction cast n'est pas possible.
En plus d'utiliser les fonctions de conversion d'encodage, vous pouvez également le configurer dans le fichier de configuration MySQL my.ini. Dans my.ini, vous devez définir les paramètres Character-Set-Server et Collation-Server pour spécifier le jeu de caractères et le classement du serveur MySQL. Par exemple, modifiez l'encodage du jeu de caractères par défaut du serveur MySQL en utf8 :
[mysqld] character-set-server = utf8 collation-server = utf8_general_ci
En même temps, vous pouvez également spécifier le type d'encodage lors de la création d'une base de données et d'une table. Par exemple, créez une base de données en utilisant le codage du jeu de caractères utf8 et le classement utf8_general_ci :
CREATE DATABASE mydatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Créez une table en utilisant le codage du jeu de caractères utf8 et le classement utf8_general_ci :
CREATE TABLE mytable ( id INT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Résumé : #🎜🎜 #
MySQL prend en charge plusieurs encodages de jeux de caractères, les plus courants incluent UTF-8, GBK, GB2312, etc. Lorsque vous utilisez MySQL, vous devez définir le codage et le classement du jeu de caractères corrects pour prendre en charge plusieurs langues et le positionnement correct des chaînes. Vous pouvez utiliser les fonctions convert et cast pour encoder la conversion, ou vous pouvez spécifier le jeu de caractères et le classement dans le fichier de configuration MySQL my.ini.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!