2017-01-01 4 views
0

Ich möchte erstellen Sitemap.XML-Datei mit PHP SimpleXMLElement. aber ich habe ein Problem, wenn mein Link persische (Farsi) Sprache enthält. die ausgegebene Datei ändert persain Wort zu Fragezeichen (????).Wie speichern XML-Datei mit UTF-8 von PHP SimpleXMLElement

Wie kann ich XML-Datei mit UTF-8 von SimpleXMLElement speichern?

mein Beispielcode ist:

$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"); 

die aus so:

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

Antwort

-2

Ich denke, hier verwenden Sie urlencode() oder htmlentities() der richtige Weg ist, den ganzen Weg kodieren, nicht nur die spezielle Zeichen.

Demo here.

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

werden Sie erklären Gründe für die downvote –

+0

Er SimpleXML verwenden. Ihre Antwort adressiert nicht die Frage – Machavity

+0

Obwohl es xml ist, ist es auch die PHP-Klasse, warum kann ich die PHP-Funktion urlencode() aufrufen? –