Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 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 
Hors ligne
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 
=> Plugins | Modifications | Liens utiles <=
.._ -Pandark- _..
Serial Dreamer
Hors ligne
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
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
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
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
Bon, je viens d'essayer ce que tu m'as dis
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
)
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
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
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 
Merci une fois de plus Mpok
Hors ligne
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

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... 
(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
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 
je fais juste un :
cat mabdd.sql | mysql --host=localhost --user=username --password=password nom_de_ta_base
Hors ligne
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
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.. 
Hors ligne
C'est mieux en graphique que avec le ligne de commande 
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
héhé c'est sympa de tous vouloir m'aider comme ça 
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) 
Voila pouquoi le le fais en ligne de commande
Dernière modification par MzRT (02-11-2007 20:50:35)
Hors ligne
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)
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
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 "é" 
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
Euh...
Là, j'avoue que j'ai du mal à suivre.. 
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.. 
Hors ligne
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 
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
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.
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... 
Hors ligne
Pages : 1