Maison >base de données >tutoriel mysql >Comment définir utf8 dans MySQL
MySQL est un système de gestion de bases de données relationnelles populaire qui prend en charge divers formats d'encodage. Dans cet article, nous explorerons comment configurer le codage UTF8 pour garantir que le jeu de caractères Unicode est correctement stocké, traité et affiché dans MySQL.
Qu'est-ce que UTF8 ?
UTF8 est un format d'encodage de longueur variable utilisé pour représenter le jeu de caractères Unicode. Ce jeu de caractères peut représenter tous les caractères du monde, y compris du texte, des symboles et des émoticônes dans différentes langues. Le codage UTF8 utilise un à quatre octets pour représenter différents caractères et est flexible et évolutif, il est donc largement adopté.
Pourquoi devrions-nous définir UTF8 ?
Dans MySQL, le jeu de caractères par défaut est Latin1, qui ne prend en charge que 128 caractères. Si vous devez stocker des jeux de caractères internationaux, vous devez utiliser un jeu de caractères plus avancé, tel que UTF8. Si vous ne définissez pas MySQL sur le codage UTF8, vous risquez de rencontrer des problèmes lorsque vous essayez de stocker et de traiter des caractères non Latin1, ce qui entraînera des caractères tronqués ou un affichage incorrect.
Comment définir UTF8 ?
La configuration de l'encodage UTF8 dans MySQL est très simple. Suivez simplement les étapes ci-dessous :
Ouvrez le fichier de configuration MySQL my.cnf, qui se trouve généralement dans /etc/mysql/ ou /etc/mysql/mysql.conf.d/ annuaire. Si vous ne trouvez pas le fichier, vous pouvez essayer de trouver le fichier en exécutant la commande suivante dans le terminal :
sudo find / -name my.cnf
Ouvrez le fichier de configuration avec un éditeur de texte et ajoutez le code suivant ci-dessous [mysqld] :
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci
Cela va changer le serveur MySQL par défaut Le jeu de caractères et le classement sont définis sur UTF8 et utilisent utf8_general_ci comme classement par défaut pour le jeu de caractères.
Après avoir modifié le fichier my.cnf, vous devez redémarrer le serveur MySQL pour que les modifications prennent effet. Utilisez la commande suivante dans le terminal pour redémarrer le serveur MySQL :
sudo service mysql restart
Lors de la création de bases de données et de tables, vous pouvez définir le jeu de caractères UTF8 dans les instructions CREATE DATABASE et CREATE TABLE . Par exemple :
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE mytable ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), age INT, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Cela obligera la base de données et les tables à utiliser UTF8 comme jeu de caractères par défaut.
Si vous devez modifier le jeu de caractères de champ dans une table existante en UTF8, vous pouvez utiliser l'instruction ALTER TABLE, par exemple :
ALTER TABLE mytable MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci;
Cela modifiera le nom champ dans la table mytable Le jeu de caractères est UTF8.
Résumé :
En suivant les étapes ci-dessus pour définir le codage UTF8 de MySQL, vous pouvez vous assurer que MySQL peut stocker, traiter et afficher le jeu de caractères Unicode, garantissant ainsi l'exactitude et l'intégrité des données. Si des problèmes tels que des caractères tronqués surviennent, vous pouvez déterminer si le jeu de caractères de MySQL est correctement défini. Veillez à sauvegarder votre base de données lors de cette opération pour éviter toute perte de données inattendue.
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!