Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
systemes:mariadb:accueil [30/06/2020 09:43] – bonnet | systemes:mariadb:accueil [30/06/2020 15:17] (Version actuelle) – bonnet | ||
---|---|---|---|
Ligne 51: | Ligne 51: | ||
</ | </ | ||
- | ===== Migration charset | + | ===== Charset |
- | Il est recommander d' | + | ==== Niveau serveur ==== |
+ | Le charset | ||
+ | <code mysql> | ||
+ | SET character_set_server = ' | ||
+ | SET collation_server = ' | ||
+ | </ | ||
+ | ==== Niveau Database ==== | ||
+ | Il peut être défini à la création de la base, ou bien modifié par la suite avec la commande : | ||
<code mysql> | <code mysql> | ||
- | SELECT CONCAT(' | + | ALTER DATABASE czech_slovak_names COLLATE = 'utf8_general_ci'; |
- | FROM INFORMATION_SCHEMA.TABLES | + | |
- | WHERE TABLE_SCHEMA= " | + | |
- | AND TABLE_TYPE=" | + | |
</ | </ | ||
+ | |||
+ | ==== Niveau des tables ==== | ||
+ | |||
+ | <code mysql> | ||
+ | ALTER TABLE MyTable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; | ||
+ | </ | ||
+ | |||
+ | Le script suivant peut être utile pour changer toutes les tables d'une base de donnée : | ||
+ | <file bash update.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | DATABASE=" | ||
+ | CHARSET=" | ||
+ | COLLATE=" | ||
+ | |||
+ | IFS=$' | ||
+ | QUERY=" | ||
+ | |||
+ | for MYSQL_CMD in `mysql -B -e " | ||
+ | echo " | ||
+ | mysql -B -e " | ||
+ | done | ||
+ | </ |