Bien le bonjour,
Je récupère un flux rss qui a un problème d'encodage sur quelques caractères. Je ne peux pas modifier ce flux à la source vu que je n'en suis pas le propriétaire.
J'ai donc trouvé une solution intermédiaire où je télécharge le xml sur mon serveur, je le réencode en UTF-8 et je le parse.
J'ai également essayé avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $fileName_tmp = file_get_contents($fileName); $fileName_tmp = file_put_contents($fileName, utf8_encode($fileName_tmp));
Mon problème est le suivant : maintenant je n'ai plus de message d'erreur (parser error : Input is not proper UTF-8, indicate encoding !) lorsque je parse ce xml, par contre du coup tout le document est "sur"encodé. En clair, tout ce qui était déjà en UTF-8 est réencodé en UTF-8. ("N°" => "N°", "française" => "française")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $fileName_tmp = file_put_contents($fileName, mb_convert_encoding($fileName_tmp, 'UTF-8', mb_detect_encoding($fileName_tmp, 'ISO-8859-1', true)));
Ma question est existe-il un moyen de dire au parseur (xmlReader ici en l'occurence) d'ignorer les erreurs d'encodage ?
Partager