UTF-8 sur un Pluxml tout neuf

Bonjour,

Je reviens sur la question de l'encodage des caractères. J'ai inséré dans mon template des feeds récupérés via Simplepie. Pour avoir un affichage correct de ceux-ci, il me faut de l'UTF-8. Je me trouve donc actuellement à devoir choisir entre un bon affichage de Pluxml ou un bon affichage des flux. :-/

J'ai vu sur un message plus ancien qu'il était possible de faire une conversion des fichiers. Je n'ai encore écrit aucun article. Tout est d'origine à part le template modifié. Y a-t-il une méthode simple pour faire la conversion ?

Merci de votre aide.

Réponses

  • Bonjour, c'est encore moi ! :)

    D'après ce site :
    http://blog.neovov.com/index.php?2007/03/06/143-convertir-un-site-en-utf-8
    Il faut convertir tout un tas de choses. Je suppose que dans mon cas, avec Pluxml, certaines étapes sont inutiles.

    Que reste-t-il à faire ? Juste modifier les headers et les metas de tous les fichiers en les enregistrant en format utf-8 ?

    J'ai retrouvé cette discussion sur le forum :
    http://forum.pluxml.org/viewtopic.php?id=435
    mais elle concerne les versions instables.

    Merci de votre aide.
  • Bonjour, à l'heure actuelle il n'y a pas encore eu de tentative de Pluxml en utf-8 donc je ne sais pas si c'est réalisable. Si tu veux te lancer dans l'aventure voici les pistes :
    - Modifier le prolongue Xml donné à chaque fichier Xml (iso->utf)
    - Corriger l'encodage utilisé par le déparseur php
    - Indiquer l'utf dans le template
    - et voir si le contenu des articles nécessiteront d'être encodés de façon particulière.
    Bon courage :)
  • Bonjour,

    Merci pour ta réponse bien complète. :)

    Pour les articles, il n'y en a encore qu'un seul, celui fourni avec l'installation. Ce sera la partie la plus rapide. :D

    Merci encore, je tente ça demain, je viendrai raconter après.
  • Quand je parle de l'encodage des articles, je mentionne une possible conversion iso->utf à faire entre le moment où le rédacteur écrit son article et le moment où il est sauvegardé dans un fichier.
  • Ok, je ferais plusieurs tests pour vérifier ce point. Merci. :)
  • DelphineDDelphineD Member
    avril 2007 modifié
    Bon, finalement, j'ai pu me dégager du temps en fin de journée et je n'ai pas pu attendre pour tester la conversion.

    En remplaçant toutes les expressions "iso-..." par "UTF-8" dans tous les fichiers (template défaut2 compris), Pluxml fonctionne impeccablement.

    MAIS, effectivement, quand on enregistre un article, il s'affiche correctement dans la partie publique et bizarrement dans la partie admin. Donc, si on veut modifier un article, il faut d'abord corriger les accents auparavant. Sauf si on écrit les caractères accentués et spéciaux avec leur équivalent HTML (&####; ), ils s'affichent alors correctement à la publication et restent en HTML dans la partie admin, donc tout reste nickel.

    Je vais pousser un peu le bouchon pour vérifier avant d'affirmer une totale réussite, mais ça se présente bien. :)
  • As-tu corrigé l'entete html de l'admin' ? (fichier 'core/admin/top.php')
  • Bonjour,

    Oui, j'ai corrigé tous les entêtes, y compris dans l'admin, mais sans succès.

    Pour moi, c'est suffisant pour que je puisse commencer à utiliser Pluxml mais je continue à chercher l'astuce qui évitera ce problème.

    Toutes mes félicitations pour ce petit CMS super génial. Il faut absolument le conserver lightissime pour qu'il puisse répondre à un maximum d'attentes.

    Les seules suggestions que je fais sont :
    1) une intégration enfantine des plugins (comme dans Dotclear ou WordPress, par exemple)
    2) un formulaire de contact d'origine. Je crois que c'est absolument indispensable de l'avoir quelque soit l'utilisation qu'on prévoit.

    Encore bravo et merci du soutien ! :)
  • J'ai également essayé de passer Pluxml en UTF-8. Voici comment j'ai procédé : j'ai ouvert chaque fichier d'un pluxml pas encore installé, je l'ai réenregistré avec l'encodage utf-8 au lieu d'iso, j'ai remplacé chaque appel à l'iso-8859-1 par utf-8 dans les documents HTML, XML et dans le code PHP. Plus aucun appel à l'ISO-8859-1 n'est présent dans le code, et plus aucun fichier n'est encodé en iso-8859-1, tout en utf-8.

    Je rapporte le même problème dans l'admin (avec le texte des articles édités, pas lors de l'écriture, et avec les titres de catégories).

    De plus, si on utilise le greffon de recherche (installation pluxml avec SearchModule), aucun problème pour la recherche en elle-même, mais l'invite à faire une nouvelle recherche (avec un second champ qui reprend le contenu de la recherche qu'on vient d'effectuer) s'affiche mal dès qu'on a cherché des caractères exotiques. Serait-ce dû à la façon dont sont retournées les chaînes de caractères ? PHP demande-t-il quelque chose de spécial lorsqu'il travaille avec de l'Unicode ?

    Autre chose, dans le répertoire de conf, où les fichiers sont créés lors de l'installation, le fichier password.xml est généré en ISO-8859-1 alors que les deux autres sont bien en UTF-8... Ça reste une énigme pour moi.

    En espérant faire avancer le schmilblick :-)
  • Pour encoder en utf-8 faut pas utilisé la fonction utf8_encode, et pour la décoder utf8_decode (voici les liens de la doc php utf8_encode utf8_decode).
    Donc je pense que tant que ces fonctions ne sont pas installer dans les fonctions qui permettent l'écriture d'un article ou de la modif d'un article sa ne marchera pas (d'ailleurs, vous avez testé l'ajout d'un commentaire voir si il était en utf-8 ?).
  • Je vais aller tester les commentaires :-)

    Pardon pour mon ignorance de PHP, mais ces fonctions convertissent une chaîne entre l'UTF-8 et l'ISO-8859-1... Ça veut dire qu'une chaîne est forcément en ISO-8859-1 à la base ? Si tout est en UTF-8 à l'origine il est toujours besoin de passer par ces fonctions ?
  • Yop,
    j'essai actuellement de mettre pluxml en utf-8 mais il subsiste quelque problème donc j'vais essayer de régler tout sa, voici l'adresse du site de test pour qui vous voyez les avancements : http://heroesfan.free.fr/flopa-18/ (oui le site tourne sous la flopa 18).
    Pour info j'ai remplacer tout les iso-8859-1 par utf-8 et modifier la fonction write du fichier lib.util.php par fwrite($f, utf8_decode(utf8_encode(trim($xml)))); # On écrit
    J'ai aussi modifier la fonction htmlentities() par htmlspecialchars() dans les area du ficher articles.php situé dans le dossier admin.
    Les problèmes arrivent lors de l'ajout d'un commentaire, il n'accepte ni d'autre langue, ni les accents :/
  • J'ai testé les commentaires sur ma version, en effet ça déconne à mort et le fichier de commentaires est déclaré en utf-8 (xml machin) mais est enregistré en ISO.

    Quand je veux voir le commentaire sur ton site de test (pour l'article japonais), fightsoul, j'ai une erreur 500...
  • bricabrica Member
    Ha heum... Le problème ne réside pas du tout dans Pluxml, mais dans PHP qui, à la base, n'a pas été prévu pour fonctionner en UTF-8. Il est possible (je ne l'ai pas testé) que les dernières versions de PHP sachent le gérer correctement.
Connectez-vous ou Inscrivez-vous pour répondre.