Maison >base de données >tutoriel mysql >Changer l'encodage de MySQL

Changer l'encodage de MySQL

PHPz
PHPzoriginal
2023-05-20 12:04:381924parcourir

MySQL est un système de gestion de base de données relationnelle couramment utilisé qui prend en charge plusieurs encodages de caractères. En utilisation réelle, vous pouvez rencontrer des situations dans lesquelles certains caractères ne peuvent pas être affichés normalement. Dans ce cas, vous devez modifier les paramètres d'encodage de MySQL pour résoudre ce problème. Cet article décrira comment modifier l'encodage de MySQL.

1. Comprendre l'encodage MySQL

L'encodage MySQL fait référence à la manière dont les données sont stockées, y compris les jeux de caractères et les règles de classement. MySQL prend en charge plusieurs jeux de caractères, les plus couramment utilisés sont UTF-8, GBK, Latin1, etc. Les règles de tri spécifient les règles de comparaison entre les caractères, telles que le respect ou l'insensibilité à la casse, la pondération des caractères, etc.

2. Vérifiez les paramètres d'encodage actuels

Avant de modifier l'encodage, vous devez d'abord connaître les paramètres d'encodage actuels. Vous pouvez le visualiser avec la commande suivante :

show variables like '%char%';

Cette commande affichera le jeu de caractères MySQL actuel et les paramètres de classement. Les variables les plus couramment utilisées incluent Character_set_client, Character_set_connection, Character_set_database, Character_set_results, Character_set_server, etc.

3. Modifiez les paramètres d'encodage

  1. Modifiez le fichier de configuration

La modification des paramètres d'encodage de MySQL peut être obtenue en modifiant le fichier de configuration. Recherchez le fichier de configuration MySQL my.cnf (parfois appelé my.ini) et ajoutez le contenu suivant :

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

Parmi eux, default-character-set spécifie le client et le jeu de caractères par défaut de MySQL est UTF-8, et collation-server spécifie La règle de tri est utf8_unicode_ci et Character-Set-Server spécifie le jeu de caractères côté serveur comme UTF-8. init-connect spécifie l'instruction SQL à exécuter lorsque la connexion est établie, qui est utilisée pour définir le jeu de caractères sur UTF-8.

  1. Modifier une base de données existante

Si vous devez modifier le jeu de caractères d'une base de données existante en UTF-8, vous pouvez suivre les étapes suivantes :

(1) Sauvegardez la base de données d'origine

Utilisez la commande mysqldump pour sauvegarder la base de données d'origine Dans un fichier :

mysqldump -u root -p database > database.sql

(2) Modifiez le jeu de caractères de la base de données

Utilisez la commande suivante pour modifier le jeu de caractères de la table de la base de données en UTF-8 :

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8;

où tablename est le nom de la table dont le jeu de caractères doit être modifié.

(3) Restaurer le fichier de sauvegarde

Utilisez la commande suivante pour restaurer le fichier de sauvegarde dans la base de données :

mysql -u root -p database < database.sql

4. Résumé

Les paramètres d'encodage de MySQL sont très importants pour garantir l'affichage et le traitement corrects des données. Cet article décrit comment afficher les paramètres d'encodage de MySQL et comment implémenter les paramètres en modifiant le fichier de configuration et en apportant des modifications à la base de données existante. En pratique, le jeu de caractères et le classement appropriés doivent être sélectionnés selon les besoins et testés et vérifiés de manière appropriée.

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