Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
laurents
#
Citer
2 Posts
Bonjour

je récupère en PHP une liste de noms issue d'un fichier xls, et pour chacun de ces noms, je construis une url :
$url="http://---=".$lastname.","


et ensuite je lis le fichier xml pointé par cette url :
$res=$dom->load($url);  
  $listeText = $dom->getElementsByTagName('text');
  $i=0;
    if ($res) { foreach($listeText as $text) {
        
        if (!(($i++)%3)) {

    $patronyme=strtolower($text->firstChild->nodeValue);
        echo "patr=".$patronyme."<br>";
}}}
 



Bien sûr, ce code n'est qu'essai.
En général, l'encodage de l'URL (récupéré par mb_detect_encoding($url) ) est de l'ASCII et ça se passe bien ; par contre, il y a un problème si le patronyme est composé en plusieurs morceaux et qu'il vient de ce fichier xls (car si je mets en dûr $lastname="nom en plusieurs parties", ça se passe bien aussi). C'est donc clairement un problème d'encodage. Quelqu'un saurait-il comment je peux m'en sortir ?

^
Julien Royer
#
Citer
Modérateur
4163 Posts
Bonjour,

Une solution à base de mb_detect_encoding est forcément bancale : il est impossible de déterminer de façon parfaitement fiable l'encodage d'une chaîne de caractères. Comment obtiens-tu exactement $lastname ? Ne peux-tu pas connaître l'encodage de cette chaîne ?

God rest the souls of that poor family. And pussy’s half price for the next 15 minutes.

^
laurents
#
Citer
2 Posts
Bonjour et merci de me répondre. Cela dit, c'est maintenant résolu, car il s'agissait d'un espace bizarrement encodé et j'ai remplacé son code ascii par 32 et tout va bien. blushie

^