Make everything UTF-8 everywhere
.
.
Dans le fichier de configuration de MySQL :
- /etc/mysql/my.cnf
- C:ProgramDataMySQLMySQL Server 5.7my.ini
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
Vérifier que les changements sont enregistrés :
mysql> SHOW VARIABLES WHERE Variable_name LIKE "character\\_set\\_%" OR Variable_name LIKE "collation%";
.
En lançant l utilitaire mysqlcheck :
$ mysqlcheck -u root -p --auto-repair --optimize --all-databases
.
ALTER DATABASE DBNAME CHARACTER SET utf8 COLLATE utf8_unicode_ci;
remplacer DBNAME par le nom de la base de donnée à convertir
.
SELECT CONCAT(\"ALTER TABLE \", TABLE_SCHEMA, ".", TABLE_NAME," COLLATE utf8_unicode_ci;")
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="DBNAME" AND TABLE_TYPE = "BASE TABLE";
remplacer DBNAME par le nom de la base de donnée à convertir.
.
SELECT CONCAT( aLTER TABLE `", TABLE_NAME,"` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;") AS mySQL
FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA= \"DBNAME\" AND TABLE_TYPE=\"BASE TABLE\"
remplacer DBNAME par le nom de la base de donnée à convertir et ajouter SET foreign\_key\_checks = 0; au début et à la fin le remettre à 1.
That s it
Publié le : 20-03-2020 - 18:00