Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 01-11-2007 00:19:40

MzRT
Membre

[Résolu] Problème UTF-8 et ISO8859-1

Je migre un forum phpbb vers punbb et lors de l'export de la BDD depuis phpmyadmin chez Free je ne peux visiblement plus changer le format.

Il me semble qu'avant ils proposaient de l'exporter en UTF-8 ou ISO-8859-1 etc...

Je me retrouve donc avec une BDD en utf-8 qui me donne plein de é a la place des accents après l'importation sad

Hors ligne

#2 01-11-2007 02:40:38

Pandark
Guide

Re : [Résolu] Problème UTF-8 et ISO8859-1

Je crois que des problèmes de ce genre ont déjà étés rencontrés.. donc logiquement, si une solution a été trouvée, une recherche dans le forum devrait t'indiquer la solution.
Si ce n'est pas le cas, il vaudrait peut-être mieux chercher plus généralement comment convertir des données (une fois le fichier exporté) ou directement une base de données utf-8 en iso..
Je n'ai pas de solution miracle en tête hmm


=>  Plugins | Modifications | Liens utiles   <=
                .._ -Pandark- _..
                Serial Dreamer

Hors ligne

#3 02-11-2007 13:17:24

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

J'ai regardé de plus près, en résumé je ne vois qu'une reelle différence entre l'avant importation et l'après :

Chez Free

phpmyadmin :

Jeu de caractères pour MySQL:  UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL: latin1_general_ci
Structure des tables : latin1_general_ci

157191061820071102121045.png

Serveur dédié  après l'importation :

Jeu de caractères pour MySQL:  UTF-8 Unicode (utf8)
Interclassement pour la connexion MySQL: latin1_general_ci
Structure des tables : UTF8_bin

131216730320071102120646.png

ma commande pour l'importation est  cat mabdd.sql | mysql --host=localhost --user=username --password=password nom_de_ta_base


En espérant que ça puisse éclairer qqun pour m'aider

Merci à vous en tout cas

Dernière modification par MzRT (02-11-2007 13:18:06)

Hors ligne

#4 02-11-2007 13:50:24

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

Dans phpMyadmin, sur la nouvelle base, l'onglet "Opérations" permet (normalement) de changer l'interclassement (en bas de la page) : remettre latin1_general_ci

En espérant que phpMyadmin convertisse de lui-même les données.
Sinon, il faudra vider les tables et refaire l'importation mais des données seules (sans re-création des tables).

Hors ligne

#5 02-11-2007 15:13:55

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

Bon, je viens d'essayer ce que tu m'as dis

Mpok a écrit :

Dans phpMyadmin, sur la nouvelle base, l'onglet "Opérations" permet (normalement) de changer l'interclassement (en bas de la page) : remettre latin1_general_ci

Ca change l'interclassement de ma base mais pas des tables à l'intérieur donc j'ai été sur une table en particulier et j'ai fais la même manupulation dans "Opération"

La table passe bien en latin1_general_ci par contres les données à l'intérieur visiblement non (lorsque je vais dans "Afficher"  les "é" restent "é" et tout et tout sad )
J'ai testé de faire un "Réparer la table" à la fin pour voir si les données suivent mais... non

Un grand merci pour cette réponse en tout cas Mpok

Hors ligne

#6 02-11-2007 16:37:10

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

Bon, maintenant les tables sont bien déclarées.
Il faut donc les vider et reprendre l'importation des données seules.
(soit tu refais une exportation avec données seules, soit tu édites le fichier .sql pour enlever à la main les CREATE correspondants).

Note importante : lors de l'importation, c'est le format D'ORIGINE du fichier .sql qui doit être spécifié (c'est à dire, si tu as des caractères bizarres dans le fichier en l'éditant, c'est utf-8).
Et CETTE FOIS, phpMyAdmin FERA de lui-même la conversion utf-8 -> latin1.

Hors ligne

#7 02-11-2007 16:44:18

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

Excellent, je test ça dès que j'ai le temps et je vous tiens au courant, d'autant plus que c'est une question qui concerne pas mal de monde vu qu'elle est assez récurrente sans jamais vraiment de solution smile

Merci une fois de plus Mpok

Hors ligne

#8 02-11-2007 17:43:18

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

Bon, j'ai vidé les tables et j'ai supprimés tous les CREATE TABLE dans le .sql
C'est bien du latin1_general_ci à l'intérieur par contre après l'importation ca me donne toujours des "é" dans l'onglet "Afficher"

Pourtant dans mon fichier .sql tout est bon c'est bien des "é"

Hors ligne

#9 02-11-2007 20:13:51

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

hmm

MzRT a écrit :

Pourtant dans mon fichier .sql tout est bon c'est bien des "é"

Donc, au moment de l'importation, tu lui as bien dit que c'était du "latin1" (dans "Jeu de caractères du fichier") ?
Si oui, alors là... je vois plus bien... huh

(peut-être vérifier dans la structure de chaque table que les CHAMPS eux-mêmes sont bien en interclassement latin1_general_ci, mais je vois pas pourquoi ça ne serait pas le cas...)

Hors ligne

#10 02-11-2007 20:21:52

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

justement lors de l'importation je ne fais rien de spécial en faite je ne sais pas vraiment comment préciser que c'est en latin1 qu'il faut l'importer sad

je fais juste un :

cat mabdd.sql | mysql --host=localhost --user=username --password=password nom_de_ta_base

Hors ligne

#11 02-11-2007 20:32:03

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

MzRT a écrit :

justement lors de l'importation je ne fais rien de spécial en faite je ne sais pas vraiment comment préciser que c'est en latin1 qu'il faut l'importer sad

je fais juste un :

cat mabdd.sql | mysql --host=localhost --user=username --password=password nom_de_ta_base

Ahh, ok.
Alors on va faire autrement (je sens qu'on va y arriver..:)).

- tu vas sur phpMyAdmin (sur la nouvelle base, évidemment)
- tu vas au niveau supérieur (la base elle-même)
- tu clique sur l'onglet "Importer"
- dans "Emplacement du fichier texte", tu sélectionne ton .sql
- dans "Jeu de caractères du fichier", tu choisis "latin1"
- et "Exécuter"...

Ca devrait le faire.. wink

Hors ligne

#12 02-11-2007 20:35:55

M@x
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

C'est mieux en graphique que avec le ligne de commande happy

M@x.

Edit Mpok : et en quoi cette remarque est-elle nécessaire à la discussion ?

Dernière modification par Mpok (02-11-2007 20:38:45)


...

Hors ligne

#13 02-11-2007 20:49:51

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

héhé c'est sympa de tous vouloir m'aider comme ça smile

Le problème avec phpmyadmin c'est que (Taille maximum: 2 048Kio) pour l'importation et que ma base approche les 3 Mo compressée ( environ 13 Mo en .sql) sad

Voila pouquoi le le fais en ligne de commande

Dernière modification par MzRT (02-11-2007 20:50:35)

Hors ligne

#14 02-11-2007 20:55:48

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

MzRT a écrit :

Le problème avec phpmyadmin c'est que (Taille maximum: 2 048Kio) pour l'importation et que ma base approche les 3 Mo compressée ( environ 13 Mo en .sql) sad

Ben il suffit de découper le fichier en 6 ou 7, non ?
Sinon il faut trouver l'option de ligne de commande qui permet de passer le jeu de caractères, mais là je vais rien pouvoir faire...

Hors ligne

#15 02-11-2007 21:37:39

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

Bon je pense que je me retrouve exactement dans la situation invese.

J'ai importé les données (utf8) phpbb en découpant la bdd comme conseillé plus haut en précisant que je voulais du utf8 pour l'importation. Ca marche, j'ai bien les accents dans la bdd! Cooooool !! ^^

J'ai testé d'importer en latin1 mais le problème d'accents était toujours là

Je converti avec PunBB_Migration_Tool-1.4.0 ma base de données pour qu'elle fonctionne sous punbb, tout a l'air bon à part que maintenant dans le forum j'ai des "?" à la place des "é" sad

En gros maintenant si j'ai bien compris j'ai des bases, tables et champs en latin1_swedish_ci mais avec des données en utf8 dedans...

Hors ligne

#16 02-11-2007 22:50:38

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

Euh...

Là, j'avoue que j'ai du mal à suivre.. huh

T'as importé des données en utf8 alors que je croyais qu'elles étaient en latin1 (dans le .sql) ? Bon, bref, j'ai du mal comprendre puisque tu dis que ça marchait...

Ensuite, la migration : est-ce que c'est la migration qui a changé les données ?
(note: je n'ai jamais utilisé l'outil de migration)

Et enfin, tu parles de "?" dans le forum : est-ce que c'est bon dans les tables ? (parce que ça peut provenir de l'encodage de la page html, pour l'instant on veut déjà que les tables soient bonnes)

Si jamais la migration s'est bien passée (sauf pour l'encodage), il reste la solution de refaire un export/import (à partir de la seule nouvelle base migrée).
(selon l'hébergeur et la version de phpMyAdmin on peut ou non choisir le format à l'export, mais en tout cas on peut toujours choisir le format à l'import, format qui je le répète doit être celui de l'export, et non celui voulu à la finale).

Remarque : j'ai fait des dizaines de transferts entre hébergeurs, et j'ai jamais eu de problème avec les formats d'encodage, t'as pas de chance.. smile

Hors ligne

#17 02-11-2007 23:09:19

MzRT
Membre

Re : [Résolu] Problème UTF-8 et ISO8859-1

Je m'ététrompé quand je disais que ca avait marché en gros je ne voyais plus les é à la place des accents mais en faite il y avait les ? déjà dans la 1ère bdd de phpbb suite aux modifications précédentes.

J'ai donc tout recommencé depuis le début

Export de la BDD (propre) du phpbb en spécifiant Mode de compatibilité SQL : MYSQL40.

Je l'ai réimporté sur mon serveur dédié dans un BDD "phpbb" après l'avoir au préalable découpé en plusieurs morceaux en précisant toujours en Mode de compatibilité SQL : MYSQL40 dans "Importer"

Je vérifie, NIKEL les données sont bonnes pour le phpbb! Je lance l'outil de migration vers punbb et là... CA MARCHE

En gros je pense que l'option Mode de compatibilité SQL m'a aidé mais j'ai fais tellement d'essais que je ne suis même pas certains que ce soit vraiment ça lol

Je vais devoir recommencer plusieurs fois la manipulation jusqu'à la migration reele du forum prévue pour le nouvel an.

Je pense que j'ai la manipulation qui fonctionne bien maintenant smile

Et je ne te remercierais jamais assez Mpok de m'avoir aidé comme cela d'autant plus que tu n'as jamais rencontré ce problème personnellement!

T'es admin qui montre l'exemple, rien à dire merci à toi

Hors ligne

#18 03-11-2007 04:10:48

Mpok
Néo Admin

Re : [Résolu] Problème UTF-8 et ISO8859-1

MzRT a écrit :

En gros je pense que l'option Mode de compatibilité SQL m'a aidé mais j'ai fais tellement d'essais que je ne suis même pas certains que ce soit vraiment ça lol

Ben, maintenant que tu le dis, je m'aperçois qu'effectivement, je coche TOUJOURS cette case (pour un autre problème, lié aux commandes CREATE et aux types de champs). C'est devenu une habitude et je n'y avais pas songé..
On saura maintenant que cela a (probablement) une influence sur les conversions d'encodage.

MzRT a écrit :

Et je ne te remercierais jamais assez Mpok de m'avoir aidé comme cela d'autant plus que tu n'as jamais rencontré ce problème personnellement!
T'es admin qui montre l'exemple, rien à dire merci à toi

De rien, on est là pour ça... surtout quand le prob ne provient pas de l'installation bâclée d'une obscure mod.. (:siffle:)

Et hop ! un petit [Résolu] pour terminer la journée... tongue

Hors ligne

Pied de page des forums