Flux RSS et UTF-8

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par blman, 14 Novembre 2006.

  1. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Bonjour,

    je me prend la tête sur un problème et je suis sûr qu'ici, quelqu'un va pouvoir m'aider. Donc voila :

    1- Voici le site dont je tire mon RSS :
    - BDD en UTF-8
    - PHP configuré en ISO-8859-1

    2- J'affiche ce RSS (au format ISO-8859-1) sur 1 site en ISO-8859-1 et 1 en UTF-8
    Sur le site encodé en ISO-8859-1, il n'y a aucun problème
    Sur le site encodé en UTF-8, j'ai mes accents qui sautent (normal).

    3- Je voudrais donc que mon RSS soit au format ouvert UTF-8 pour que je n'ais plus ces problèmes d'accents.

    J'ai donc mis <?xml version="1.0" encoding="utf-8"?> dans l'entête de mon flux RSS et je l'ais encodé grâce à la fonction PHP utf8_encode() : http://fr3.php.net/manual/fr/function.utf8-encode.php

    Et résultat, après vidage de tous les caches de magpierss, j'ai toujours le même problème : ça s'affiche bien sur les sites encodés en ISO-8859-1 et pas sur le site encodé en UTF-8.

    Quelqu'un peut-il m'aider ?
     
  2. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    D'après tous les tests que je viens de faire :
    - mon flux RSS est bien encodé en UTF-8
    - mon cache magpierss n'est pas en UTF-8 (c'est peut-être une piste)

    N'y aurait-il pas une option de configuration dans magpierss pour le forcer à retourner les données dans le bon encodage ?

    Donc pour résumer :
    J'ai 1 flux en UTF-8 qui ne s'affiche pas correctement sur une page encodée en UTF-8. Bug de magpierss ? Pb de configuration du PHP (sur OVH, je crois bien que c'est de l'ISO) ? Je sais pô...
     
  3. TrAsKiN
    TrAsKiN WRInaute discret
    Inscrit:
    17 Juillet 2006
    Messages:
    121
    J'aime reçus:
    0
    Essait avec cette encodage : windows-1252
     
  4. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Bé, j'aimerais bien conserver l'UTF-8 car c'est logiquement un format ouvert avec plus d'intéropérabilité (décidément, ce mot est très dur à écrire).
     
  5. TrAsKiN
    TrAsKiN WRInaute discret
    Inscrit:
    17 Juillet 2006
    Messages:
    121
    J'aime reçus:
    0
    Je ne pourrais pas te dire si l'UTF-8 est plus ouvert mais en tout j'ai des problèmes ressemblant aux tiens. En utilisant l'encodage windows-1252 mes problèmes on disparus.

    Sinon, comme tu l'a dit, regarder du côté de magpierss serais un bon début !
     
  6. ACth
    ACth WRInaute impliqué
    Inscrit:
    11 Novembre 2006
    Messages:
    686
    J'aime reçus:
    0
    Bonjour blman,

    Vla, je ne suis pas certain, mais d'après ce que j'en ai compris ici et sur le chat, il semblerait que le problème provient des jeux de caractères et collations de connexion.

    Il faut donc en gros mettre, directement après la connexion au serveur mysql, ceci:

    Code:
    @mysql_query("SET CHARACTER SET 'utf8'");
    @mysql_query("SET character_set_results = NULL");
    première requête : met les jeux de caractères et collations de connexion au charset souhaité (soit utf8 si base de données en utf8)
    seconde requête : met le jeux character_set_results à NULL pour éviter des conversions au niveau du serveur mysql (lent)


    Voila, en espérant que cela résoudra ton problème ;)


    edit: je ne l'ai pas précisé, mais plus besoin des fonctions utf8_encode() et utf8_decode()
     
  7. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Bon, bilan.

    Déjà merci à ACth avec qui on a testé tout un tas de truc sur le chat pendant 2 bonnes heures.

    Je n'ais toujours pas la réponse à ma question. J'ai pourtant essayer plein de chose, regarder du côté de la config de magpierss. Sur le chat, il y a visiblement plein de monde qui a le même problème et personne ne sait de quoi ça peut venir.

    Je pense que ça vient de magpierss, je ne vois pas d'autre explication mais je suis toujours preneur.

    Pour le moment, j'ai réglé mon problème en convertisant tous mes caractères en entités HTML avant même de générer le flux RSS
     
  8. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Tu as essayé :
    header("Content-Type: text/html; charset=utf-8"); ?
     
  9. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    oui
    - on a essayé ça
    - la solution décrite plus haut
    - d'utiliser la fonction utf8_decode() un peu partout
    - de configurer magpierss
    - etc...

    Rien à faire... Pourtant mon flux RSS est bien au format UTF8. Ce que je ne comprend pas, c'est pourquoi magpierss n'est pas capble de l'interpréter comme de l'UTF8.
     
  10. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Pour la petite histoire, j'avais fait une page PHP qui prennait des flux (iso et utf8) et qui retournait le tout en un flux mix UTF8.

    Donc déjà c'est possible ;)

    Déjà ton flux doit être en UTF8. Donc tu convertis les sources ISO en UTF8 et pas les UTF8 en UTF8

    Tu me donnes l'url de ce RSS au format UTF8 une fois finis.
     
  11. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Viens sur le chat !
     
  12. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Bon bé merci oxman, ça fonctionne. Je fais un petit bilan demain, je test encore 2 ou 3 trucs pour bien finir et puis hop !
     
  13. elbabass
    elbabass Nouveau WRInaute
    Inscrit:
    3 Novembre 2006
    Messages:
    4
    J'aime reçus:
    0
    Nombreux problèmes avec 2 encodages différents

    J'ai eu un problème identique avec Ruby on rails.
    Après enquète, la cause était la suivante:
    - aucune conversion n'était faite depuis l'encodage de mon formulaire html vers la BDD (page en ISO, DB en ISO)
    - une conversion était faite de la DB à la page (base en ISO, page en UTF)

    Pour résoudre le PB, j'ai modifié mon formulaire afin qu'il enregistre de l'utf8 dans une base ISO (impossible de comprendre tous les caractères de la base, mais ça marche très bien)

    L'idéal serait de convertir la DB en utf8 aussi, mais il faudrait convertir chaque ligne.

    Sur d'autre projets, même type de pb: 2 conversion à l'enregistrement et 1 seule au retour.

    Pour ton PB, n'y a-t-il pas un pb de conversion qui se ferait dans un sens et pas dans l'autre ?

    Sinon, une solution universelle que j'ai mise en place une fois:
    str_replace (
    array( 'é', 'è', ...),
    array('&acute;', '&egrave;', ...),
    $string_entry);

    Mis à part qu'en 5 langues j'avais 10 lignes de conversion de caractères accentués, cédilles et autres copyright, je n'ai plus jamais eu de pb.

    PS: j'avais pas vu ton dernier message, je laisse quand même ;)
     
  14. oxman
    oxman WRInaute discret
    Inscrit:
    21 Juin 2004
    Messages:
    111
    J'aime reçus:
    0
    Cherche pas le problème est réglé ;p
     
  15. papayou
    papayou WRInaute discret
    Inscrit:
    21 Avril 2004
    Messages:
    247
    J'aime reçus:
    0
    Je suis preneur de la solution !

    @+
     
  16. TOMHTML
    TOMHTML WRInaute accro
    Inscrit:
    25 Août 2004
    Messages:
    2 502
    J'aime reçus:
    0
    La fonction PHP htmlentities() fera l'affaire ;-)
     
  17. papayou
    papayou WRInaute discret
    Inscrit:
    21 Avril 2004
    Messages:
    247
    J'aime reçus:
    0
    Ça marche nickel, merci.
     
  18. cirdec49
    cirdec49 Nouveau WRInaute
    Inscrit:
    19 Mai 2010
    Messages:
    17
    J'aime reçus:
    0
    pour moi il a fallu que je mette
    utf8_encode($monTexte)
     
Chargement...
Similar Threads - Flux RSS UTF Forum Date
[Reglé] Afficher flux RSS en UTF-8 et ISO-8859-1 Développement d'un site Web ou d'une appli mobile 27 Mai 2008
Probléme avec un flux rss Demandes d'avis et de conseils sur vos sites 4 Novembre 2019
Redirection bizarre impactant un flux RSS Netlinking, backlinks, liens et redirections 11 Novembre 2018
Les flux RSS sont-ils toujours indispensables en 2017 ? Développement d'un site Web ou d'une appli mobile 15 Mars 2017
[Wordpress] Existe-t'il plugin pour générer un nouveau flux RSS ? Développement d'un site Web ou d'une appli mobile 27 Décembre 2016
Flux rss : comment récupérer uniquement le 2eme item ? Développement d'un site Web ou d'une appli mobile 3 Juin 2016
Quelle date dans <pubDate> pour flux RSS : création ou dernière modification? Crawl et indexation Google, sitemaps 24 Mai 2016
Les flux rss et le seo Netlinking, backlinks, liens et redirections 10 Mars 2016
Récupération d'un flux RSS Problèmes de référencement spécifiques à vos sites 3 Février 2016
Flux RSS et référencement (sitewide) Netlinking, backlinks, liens et redirections 6 Février 2015
Rediffusion de flux RSS autorisée ? Droit du web (juridique, fiscalité...) 27 Janvier 2015
Utiliser des fluxs rss de citation Droit du web (juridique, fiscalité...) 31 Décembre 2014
Problème de flux RSS Développement d'un site Web ou d'une appli mobile 14 Octobre 2014
Reprise flux RSS sur mon site : légal ? Droit du web (juridique, fiscalité...) 20 Décembre 2013
Flux rss wordpress et SEO Débuter en référencement 13 Décembre 2013
Flux rss Wordpress duplicate? Référencement Google 10 Décembre 2013
Comment mettre un flux RSS sur un prestashop? Débuter en référencement 5 Novembre 2013
Bloc flux RSS Débuter en référencement 4 Septembre 2013
Afficher le flux rss d’un site externe sur une page de mon site Développement d'un site Web ou d'une appli mobile 23 Août 2013
Gagner de trafic on intégrant mon flux rss dans un autre site Débuter en référencement 15 Août 2013