You are not logged in.
Bonjour,
je cherche à migrer ma base glpi d'un serveur à l'autre.
donc je fais un export de la base dans un fichier glpi.sql.
Dedans je remarque que chaque table utilise utf8_unicode_ci
exemple : CREATE TABLE `glpi_alerts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`itemtype` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
donc lorsque je crée la base sur le serveur cible, je choisis utf8_unicode_ci comme entrelassement.
puis je lance une commande:
mysql -u root glpi < glpi.sql
qui importe correctement la base, à un petit détail près : les caractères accentuées sont remplacés par des caractères spéciaux. Cela devient difficilement lisible !
Que puis je faire pour retrouver le bon encodage et me débarasser de ces caractères pénibles ?
Merci de votre aide.
Offline
Bonjour,
je me réponds à moi même, ayant cherché quelques temps, que cela profite aux générations futures :-)
Il m'a fallu spécifier l'utilisation de UTF-8 coté, serveur, coté base de données, coté connexion, et coté table.
Coté table, c'est fait dans l'export phpmyadmin dans la définition des champs (exemple : `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL)
Pour le reste , j'ai modifié le fichier my.ini:
ajouter dans la partie CLient et la partie Serveur
default-character-set=utf8
[client]
port = 3306
default-character-set = utf8
[mysqld]
port=3306
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
init-connect='SET collation-connection = utf8_unicode_ci'
La syntaxe est un peu lourde, mais dans la section [mysqld] ça passe plus facilement.
Après avoir relancer les services WAMP, cela fonctionne correctement.
Hope this helps !
Offline