2017-01-01 4 views
0

php SimpleXMLElementでsitemap.xmlファイルを作成します。私のリンクにペルシア語(ペルシア語)の言語が含まれているときに問題があります。出力ファイルは、単語(?)に変更されます。PHPでUTF-8でXMLファイルを保存する方法SimpleXMLElement

xmlファイルをutf-8で保存するにはどうすればよいですか?SimpleXMLElement

私のサンプルコードは次のとおりです。

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

次のように置くアウト:

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

答えて

-2

私はあなたがurlencode()htmlentities()を使用し、ここで考えて適切な方法で、パス全体を符号化するだけでなく、特別な文字。

Demo here

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

彼はdownvoteの理由を説明します –

+0

彼はSimpleXMLを使用しています。あなたの答えは質問 – Machavity

+0

に対処していませんが、xmlですが、PHPクラスでもあります。なぜ、PHP関数urlencode()を呼び出すことができますか? –

関連する問題