Bonjour,
Voici mon petit soucis, je souhaite faire passer la base de données (en iso8859-1) d'une application web (wikka wikki) sur un autre serveur. Lors des tests sur les pages de l'applications web les "è" par exemple deviennent des "é". J'avais déjà eu ce problème lors d'une précédente migration (que j'avais réussi à résoudre ) mais là je n'ai pas réussi à trouver la solution. Voici la procédure que j'ai suivie:
La base mysql à migrer est sur une debian (UTF-8):
Sauvegarde:
mysqldump --default-character-set=latin1 ma_base >sauvegarde.sql
Si je vérifie l'encodage du fichier:
1 2
| file -i sauvegarde.sql
: text/plain; charset=iso-8859-1 |
Donc c'est bon
J'envoi le fichier via un scp vers l'autre système (Archlinux -> UTF-8):
je reteste le fichier au cas ou:
1 2
| file -i sauvegarde.sql
: text/plain; charset=iso-8859-1 |
Donc c'est encore bon
Je crée une base de donnée avec l'encodage latin1 par défaut:
1 2
|
CREATE DATABASE ma_base DEFAULT CHARACTER SET "latin1" COLLATE latin_swedish_ci; |
J'importe les données:
mysql -u root -p wikka --default-character-set=latin1 < sauvegarde.sql
Et pourtant j'ai toujours ce problème d'encodage à l'affichage des pages web ( j'ai pourtant ça dans le header <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">)
Si dans le doute je vérifie les encodages de la base:
1 2 3 4 5 6 7 8 9
|
SHOW FULL COLUMNS FROM wikka_links;
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| from_tag | varchar(75) | latin1_swedish_ci | NO | PRI | | | select,insert,update,references | |
| to_tag | varchar(75) | latin1_swedish_ci | NO | PRI | | | select,insert,update,references | |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set (0.00 sec) |
Je vois que la base est bien en latin1.
Donc voila, si quelqu'un pouvait me dire ou je me suis planté, ça m'aiderais bien.
Merci
Partager