J'ai un problème avec l'encodage d'un flux wordpress que je n'arrive pas à comprendre.PHP DomDocument, problème d'encodage DomXPath
Je chargeais mon flux avec DOMDocument-> load mais j'ai ensuite fait un fichier_get_contents et j'utilise maintenant -> XMLload avec les mêmes résultats. J'ai fait le XMLload afin que je puisse manipuler le flux si nécessaire.
La sortie correcte que je recherche est - ‘ £
. Si je fais juste écho à partir d'une requête Xpath, j'obtiens - ‘ £
. Si je fais écho avec utf8_decode, j'obtiens - ? £
. Beaucoup mieux mais le point d'interrogation devrait être une apostrophe.
Si je parcourt chaque nœud de DomDocument lorsqu'il est chargé, la sortie est correcte. Il semble donc que ce soit mal géré dans XPath.
Une idée?
L'alimentation est http://shredeasy.com/blog/category/news/feed
Voici la fonction qui est appelée:
function getPostsInCategory($feed=NULL){
if(is_null($feed)){ echo "Wrong Usage. Need a valid Category Feed. Most likely from getCategories()."; return false; }
$feedx = file_get_contents($feed);
$xml = new DOMDocument();
$xml->loadXML($feedx);
//$this->showDOMNode($xml);
//$xml->load($feed);
$xpath = new DomXPath($xml);
$xpath->registerNamespace("content", "http://web.resource.org/rss/1.0/modules/content/");
$cat = array();
foreach($xml->getElementsByTagName('item') as $c){
$elements = array();
$elements["title"] = $xpath->query("title", $c)->item(0)->nodeValue;
echo utf8_decode($elements["title"]);
J'ai essayé de comprendre cela pendant des heures et je continue encerclant revenir à la mauvaise chose.
Merci pour l'aide!
Vous savez bien, il semble que les apostrophes se transforment en points d'interrogation .... Gosh! Je ne sais pas si c'est le seul problème ou non.
Quel est le codage de * votre page *? serveur/méta-élément ... –
–