DotClear 1 à 2 : UTF8

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par FloBaoti, 14 Juillet 2008.

Tags:
  1. FloBaoti
    FloBaoti WRInaute impliqué
    Inscrit:
    30 Avril 2006
    Messages:
    642
    J'aime reçus:
    0
    Salut à tous,

    Alors je rencontre un petits souci dans la migration de Dotclear 1 à Dotclear 2.

    Il s'agit de la gestion de l'UTF8.

    Dans la version 1, les tables MySQL sont définies en latin1, mais Dotclear y stocke de l'utf8 à l'intérieur (grâce à un plugin je crois, ou je ne sais plus quoi).

    Dans la version 2, l'UTF8 est géré au niveau de la base.

    Donc dans les tables de la version 1, j'ai des données dans ce genre:
    Société

    (accents codés en UTF8 dans un champ non-UTF8, mais ça passe à l'affichage final puisque le charset HTML est UTF8)

    Or dans la version 2, les champs étant définis en "utf8_bin", les caractères spéciaux sont gérés en interne, et donc dans PHPMyAdmin on voit les accents de manière correcte.

    La question est: comment passer les champs de la version 1 à la version 2, sans passer par PHP (que ça soit MySQL qui gère la transformation des champs).

    En clair, il me faudrait un équivalent à "utf8_decode" de PHP, mais sous MySQL (version 5).

    J'ai essayé CONVERT et CAST sans grand succès... :cry:

    Quelqu'un aurait-il une idée ?

    Merci par avance!! :lol:

    P.S.: en plus de ça, on passe de MyISAM à InnoDB, mais je ne pense pas que ça change quelque chose dans mon histoire.
     
  2. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    941
    J'aime reçus:
    0
  3. FloBaoti
    FloBaoti WRInaute impliqué
    Inscrit:
    30 Avril 2006
    Messages:
    642
    J'aime reçus:
    0
    Hello,

    Tel quel apparemment ça ne me change rien. Ça change effectivement l'interclassement des champs, mais ne convertit pas les données :cry:

    Merci quand même... :lol:
     
  4. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    941
    J'aime reçus:
    0
  5. FloBaoti
    FloBaoti WRInaute impliqué
    Inscrit:
    30 Avril 2006
    Messages:
    642
    J'aime reçus:
    0
    J'ai suivi exactement la doc... par exemple:

    Code:
    INSERT INTO v2_category (SELECT cat_id, \'generatix\', CONVERT(cat_libelle USING utf8), CONVERT(cat_libelle_url USING utf8), CONVERT(cat_desc USING utf8), cat_ord FROM blog_categorie);
    Le souci est que la table initiale (blog_categorie par exemple) est définie en latin1, mais contient des données UTF8. Donc MySQL tente de me convertir du latin1 en UTF8.

    Et donc là je me retrouve avec les caractères spéciaux de cette manière:
    Société
    (comme sur Dotclear 1 alors que ça ne devrait pas être le cas)
     
  6. julienr
    julienr WRInaute impliqué
    Inscrit:
    5 Août 2003
    Messages:
    941
    J'aime reçus:
    0
    oki compris (pour l'avoir tester aussi) et convert ne pourra pas fonctionner avec de l'utf8 ds de l'iso car il ne fait que réencoder une deuxième fois l'accent (déjà sous forme de 2 caractères)
    je passe donc mon tour, bon courage
     
  7. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 925
    J'aime reçus:
    78
    Je veux peut-être dire une grosse connerie, mais j'ai eu un problème de ce genre ce matin. Mais le client MySQL que j'utilise (CocoaMySQL sur MacOSX) permet de forcer le charset de destination. Et en forçant l'utf-8 lors de l'import du script SQL je n'ai plus de souci.

    Tu utilises quel soft pour ré-injecter tes données ? Un PhpMyadmin tout bête, une interface fournie par un plugin DC ou un client MySQL logiciel ?
     
  8. FloBaoti
    FloBaoti WRInaute impliqué
    Inscrit:
    30 Avril 2006
    Messages:
    642
    J'aime reçus:
    0
    Justement je ne veux pas faire d'export-import. Je veux insérer des données dans une table depuis une autre table. En une seule requête comme l'exemple que j'ai donné.
     
  9. Koidirou
    Koidirou Nouveau WRInaute
    Inscrit:
    3 Mai 2007
    Messages:
    49
    J'aime reçus:
    0
    De mémoire, il y a un plugin Dotclear 1 (installé par défaut je crois) pour passer ton blog en UTF-8. Ça te permettra ensuite de passer à Dotclear 2 sans soucis.

    Sinon, regarde par là : http://doc.dotclear.net/2.0/admin/1-to-2
     
Chargement...
Similar Threads - DotClear UTF8 Forum Date
Dotclear - projet communautaire open-source a besoin de vous Développement d'un site Web ou d'une appli mobile 29 Juin 2017
Recherche aide sur Dotclear Demandes d'avis et de conseils sur vos sites 25 Juin 2014
Dotclear vers Wordpress Développement d'un site Web ou d'une appli mobile 3 Juin 2011
Mysql migration utf8->utf8mb4 Développement d'un site Web ou d'une appli mobile 17 Août 2019
Utf8 Développement d'un site Web ou d'une appli mobile 30 Avril 2014
Content-type UTF8 , quel éditeur ? Développement d'un site Web ou d'une appli mobile 9 Juillet 2013
Soucis d'encodage apostrophe UTF8 Développement d'un site Web ou d'une appli mobile 10 Octobre 2011
[Résolu] Problème d'importation de base MySQL en UTF8 chez 1&1 Administration d'un site Web 3 Juillet 2011
Encodage utf8 / iso 8859-1 Développement d'un site Web ou d'une appli mobile 28 Février 2011