Maison  >  Article  >  base de données  >  Comment définir l'encodage UTF-8 dans MySQL

Comment définir l'encodage UTF-8 dans MySQL

PHPz
PHPzoriginal
2023-04-21 11:23:2011503parcourir

MySQL est un système de gestion de bases de données relationnelles couramment utilisé dans les applications Web, le traitement de données volumineuses et d'autres applications distribuées. Les paramètres du jeu de caractères de MySQL sont très importants pour le bon fonctionnement et le stockage des données de la base de données, et UTF-8 est un jeu de caractères largement utilisé qui prend en charge la plupart des langues dans le monde, notamment le chinois, l'anglais, le japonais, etc. Par conséquent, la configuration de UTF-8 est cruciale lors de l’utilisation de MySQL. Voici comment configurer correctement UTF-8 dans MySQL.

1. Paramètre du jeu de caractères de la base de données
Dans MySQL, le paramètre du jeu de caractères a deux paramètres, l'un est le jeu de caractères de la base de données et l'autre est le jeu de caractères de la connexion. Lors de la création d'une base de données, vous pouvez définir le jeu de caractères par défaut pour la base de données en spécifiant le jeu de caractères. Après vous être connecté à MySQL, vous pouvez afficher le jeu de caractères par défaut de la base de données via la commande suivante :

SHOW VARIABLES LIKE 'character_set_database';

Si le jeu de caractères affiché dans les résultats de la requête n'est pas UTF-8, vous devez modifier le jeu de caractères par défaut. La méthode de modification est la suivante :

  1. Ouvrez le fichier de configuration MySQL my.cnf, recherchez la section [mysqld], et ajoutez le code suivant :

[mysqld]
character-set-server=utf8

  1. Redémarrer le service MySQL pour compléter les modifications du jeu de caractères par défaut.

2. Paramètre du jeu de caractères de connexion
Lors de la connexion à la base de données via le client MySQL, vous devez également spécifier le jeu de caractères de la connexion. Cela peut être réalisé en ajoutant la configuration suivante :

mysql --default-character. -set=utf8

La commande ci-dessus indique que le jeu de caractères UTF-8 est utilisé par défaut lors de la connexion. Il peut également être modifié dans le client MySQL. La méthode de modification est la suivante :

  1. Entrez le client MySQL via la commande suivante :

mysql -u username -p

  1. Après avoir saisi le mot de passe, entrez la commande suivante. pour modifier le jeu de caractères de connexion :

SET NAMES utf8;

Ceci termine la modification du jeu de caractères de connexion.

3. Paramètre du jeu de caractères de la table
Dans MySQL, chaque table peut avoir son propre jeu de caractères. Lors de la création d'un tableau, vous pouvez définir le jeu de caractères par défaut du tableau en spécifiant le jeu de caractères. Si aucun jeu de caractères n'est spécifié, le jeu de caractères par défaut de la base de données est utilisé. Vous pouvez vérifier le jeu de caractères de la table via la commande suivante :

SHOW CREATE TABLE nom de la table ;

Si le résultat de la requête n'est pas UTF-8, vous devez modifier le jeu de caractères de la table. La méthode de modification est la suivante :

  1. Pour modifier le jeu de caractères de la table, vous pouvez utiliser l'instruction ALTER TABLE L'instruction est la suivante :

ALTER TABLE nom de la table CONVERT TO CHARACTER SET utf8; modification, vous pouvez afficher le tableau via la commande suivante. Si le jeu de caractères a été modifié avec succès :

  1. SHOW CREATE TABLE nom de la table ;
IV. Paramètres du jeu de caractères des données

En plus des paramètres du jeu de caractères ci-dessus, il existe une autre situation. cela nécessite une attention particulière, c'est-à-dire l'insertion de données dans la base de données. Si le jeu de caractères de la source de données n'est pas cohérent avec le jeu de caractères de la base de données, des caractères tronqués peuvent en résulter. Dans ce cas, le problème peut être résolu par la méthode suivante :


Définissez le jeu de caractères client sur UTF-8, qui est la méthode mentionnée dans le paramètre du jeu de caractères de connexion.

    Lors de l'insertion de données dans la base de données, l'encodage UTF-8 doit être utilisé. Par exemple, si vous insérez des données dans une table via une instruction SQL, les données doivent être fournies à l'instruction INSERT sous forme de chaîne codée en UTF-8. Le code est le suivant :
  1. INSERT INTO mytable (mycolumn) VALUES ("J'aime programmer") ;
En PHP, vous pouvez utiliser le code suivant pour convertir une chaîne en encodage UTF-8 :

$utf_str = iconv('current Encoding', 'UTF-8', $str);

Cela peut éviter les caractères tronqués causés par un encodage de données incohérent.

Résumé :

Il est très important de définir le jeu de caractères UTF-8 dans MySQL. Cela peut non seulement éviter les caractères tronqués causés par des jeux de caractères incohérents, mais également améliorer l'exactitude du stockage des données et l'efficacité des opérations. Lors de la définition du jeu de caractères, vous devez faire attention à divers aspects tels que le jeu de caractères de la base de données, le jeu de caractères de connexion, le jeu de caractères de table, le jeu de caractères de données, etc. pour vous assurer que les paramètres sont corrects afin de garantir la stabilité du système et la sécurité des données.

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