Maison >base de données >tutoriel mysql >conversion d'encodage MySQL

conversion d'encodage MySQL

WBOY
WBOYoriginal
2023-05-08 10:22:072129parcourir

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.

  1. Utilisez la fonction de conversion pour encoder la conversion

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) |
+---------------+
| 中国         (中文字符)        |
+---------------+
  1. Utiliser la fonction cast pour la conversion d'encodage

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!

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
Article précédent:mysql s'il n'est pas égal àArticle suivant:mysql s'il n'est pas égal à