2017-01-01 1 views
0

Je veux créer un fichier sitemap.xml avec php SimpleXMLElement. mais j'ai un problème quand mon lien contient avec la langue persane (farsi). le changement de fichier out persain mot au signe question (????). Comment sauvegarder le fichier xml avec utf-8 par SimpleXMLElement?Comment enregistrer fichier xml avec UTF-8 par php SimpleXMLElement

mon exemple de code est:

$a='<?xml version="1.0" encoding="UTF-8" ?> 
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> 

    <url> 
     <loc>www.example.com/page-test/صفحه-تست/</loc> 
     <changefreq>daily</changefreq> 
     <priority>0.95</priority> 
    </url> 
</urlset>'; 
    $xml= new SimpleXMLElement($a); 
    $xml->asXML("sitemap.xml"); 

l'eteint comme ceci:

<loc>www.example.com/page-test/?????-?????/</loc> 

Répondre

-2

Je pense ici que vous utiliser urlencode() ou htmlentities() est la bonne façon, encode tout le chemin, non seulement la caractères spéciaux.

Demo here.

www.example.com%2Fpage-test%2F%D8%B5%D9%81%D8%AD%D9%87-%D8%AA%D8%B3%D8%AA%2F 
+0

est-ce que vous expliquez pourquoi? –

+0

Il utilise SimpleXML. Votre réponse ne répond pas à la question – Machavity

+0

Bien que xml, c'est aussi la classe php, pourquoi est-ce que je peux appeler la fonction php urlencode()? –