Modifier l'encodage d'une base de données MySQL

Guide étape par étape : convertir une base de données MySQL en UTF-8.

Lors de la migration de sites web ou du travail sur des projets anciens, vous pouvez parfois rencontrer des problèmes d'affichage incorrect des caractères. Cela est généralement dû à un encodage de base de données incorrect. Voici quelques méthodes simples pour modifier l'encodage de votre base de données MySQL — via phpMyAdmin ou des requêtes SQL.

Une base de données est un ensemble de tables interconnectées dans lesquelles toutes les données de votre site sont stockées.


Modifier l'encodage via phpMyAdmin et un éditeur de texte

Commencez par exporter votre base de données via phpMyAdmin sur votre ordinateur local.

file

Ouvrez le fichier SQL exporté dans un éditeur de texte (par exemple Notepadqq ou Notepad2) et convertissez son encodage en UTF-8 sans BOM.

Importez ensuite le fichier dans une nouvelle base de données via phpMyAdmin.


Modifier l'encodage via une requête SQL

Dans phpMyAdmin → sélectionnez votre base de données → onglet « SQL », exécutez la requête suivante :

file

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Remarque

Cette requête modifie le jeu de caractères de la table spécifiée pour celui choisi (dans ce cas, utf8).

Pour convertir l'encodage de toutes les tables en une seule fois, utilisez cette requête :

SELECT CONCAT(
  'ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, 
  '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;'
) AS sqlcode
FROM `information_schema`.`TABLES` t
WHERE t.`TABLE_SCHEMA` = 'DATABASE_NAME'
ORDER BY 1;

Remarque

Remplacez DATABASE_NAME par le nom de votre propre base de données.

Copiez les lignes générées et exécutez-les dans la console SQL de phpMyAdmin.


Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter