IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Décodage de caractères à partir d'un flux RSS


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Par défaut Décodage de caractères à partir d'un flux RSS
    Bonsoir,

    Voilà, pour être concret, je récupère le flux suivant : http://www.libelabo.fr/category/video/feed.
    Je le traite derrière pour insérer dans ma base différents éléments (titre, desscriptif, url, etc.).
    Mon problème se situe au niveau de l'un des éléments du flux : les titres (ex.: <title>Lalbum des écrivains: Amélie Nothomb</title>).
    Je fais un simple uft8_decode sur le titre et il me sort : "L?album des écrivains: Amélie Nothomb". Pourquoi ?
    Alors j'ai fait le tour de la question et ai tenté plusieurs manip' d'encodage et de décodage dans tous les sens et je n'arrive pas à récupérer ’ à la place de . C'est fou non.

    Est-ce que quelqu'un aurait une idée lumineuse ? Je n'en peux plus des problèmes d'encodage

    PS : j'ai d'aillerus du mal à laisser apparaître le code numerique du ’ => & # 8 2 1 7 ;

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    Peux-tu nous filer un aperçu des entetes du fichier rss ?
    Y a t il utf8 de spécifié ? as tu essayé de tout transformer en code haxe avec htmlentities ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Par défaut
    Voici l'en-tête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- generator="wordpress/2.2.3" -->
    <rss version="2.0"
    	xmlns:content="http://purl.org/rss/1.0/modules/content/"
    	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    	xmlns:dc="http://purl.org/dc/elements/1.1/"
    	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
    	xmlns:media="http://search.yahoo.com/mrss/"
    >

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Par défaut
    Voici tout ce que j'ai essayé (à prendre ou à laisser) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    $titre = (string)$movie->title;
     
    $titre = unicode_urldecode($titre);
    $titre = preg_replace('/&#\d{2,5};/ue', "utf8_entity_decode('$0')", $titre);
    $titre = iconv("ISO-8859-2", "UTF-8",$titre);
    $titre = mb_convert_encoding( $titre, "utf-8", "HTML-ENTITIES" );
    $titre = unicode_decode($titre,'ISO-8859-1');
    $titre = html_entity_decode((string)$movie->title);
     
    //Function to decode URL's that contain Unicode characters
    function unicode_urldecode($url)
    {
      //split the URL into an array
      $url_array = split ("%",$url);
      //Make sure we have an array
      if (is_array($url_array))
      {
        //Loop while the key/value pair of the array
        //match our list items
        while (list ($k,$v) = each ($url_array))
        {
           //use base_convert to convert each character
           $ascii = base_convert ($v,16,10);
           $ret .= chr ($ascii);
        }
     }
     //return the decoded URL
     return ("$ret");
    }
    Rien n'a marché.

  5. #5
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    Serait ce une solution de mettre les données dans le fichier rss directement encodé avec les entités html ?? c'est lourd mais ca corrige des choses ..

    "élégant" => "&eacute;l&eacute;gant"

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Par défaut
    J'aimerais bien avoir la main sur ce flux ... mais voilà, je ne fais que récupérer ce rss. Il n'est pas à moi ! ;-)

Discussions similaires

  1. [XML] Afficher les premiers caractères d'un flux RSS
    Par metatron dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 07/01/2008, 18h40
  2. [SimpleXML] Génération d'un flux RSS à partir d'une base de données
    Par gpsevasion dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/09/2007, 19h08
  3. [MySQL] Construction d'un flux RSS à partir de la base : résultats partiels
    Par atchoumen dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/07/2007, 19h13
  4. Flux RSS à partir d'une DB d'Access
    Par gregorius100 dans le forum Modélisation
    Réponses: 1
    Dernier message: 15/05/2007, 07h11
  5. [Librairies] Flux RSS en PHP4 à partir d'un code en PHP5 valide
    Par ffrag dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 09/05/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo