मैं DOMDocument का उपयोग करते हुए कुछ HTML को पार्स करने की कोशिश कर रहा हूं, लेकिन जब मैं करता हूं, तो मैं अचानक अपने एन्कोडिंग को खो देता हूं (कम से कम यह इस तरह से मेरे लिए प्रकट होता है)।
$profile = "<div><p>various japanese characters</p></div>";
$dom = new DOMDocument();
$dom->loadHTML($profile);
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
echo $dom->saveHTML($div);
}
इस कोड का परिणाम यह है कि मुझे ऐसे वर्ण मिलते हैं जो जापानी नहीं हैं। हालाँकि, अगर मैं:
echo $profile;
यह सही ढंग से प्रदर्शित होता है। मैंने saveHTML और saveXML की कोशिश की है, और न ही सही ढंग से प्रदर्शित करता है। मैं PHP 5.3 का उपयोग कर रहा हूं।
मैं देख रहा हूं:
ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åºã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ããé«æ ¡æ代ã¯ãã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å¦ã
क्या दिखाया जाना चाहिए:
イリノイ州シカゴにて、アイルランド系の家庭に、9人兄弟の5番目として生まれる。彼を含めて4人が俳優になった。父親は木材のセールスマンで、母親は郵便局の客室係だった。高校時代はキャディのアルバイトに勤しみ、教育資金を受けながらカトリック系の高校へ進学
संपादित करें: मैंने कोड को पाँच पंक्तियों तक सरल कर दिया है ताकि आप स्वयं इसका परीक्षण कर सकें।
$profile = "<div lang=ja><p>イリノイ州シカゴにて、アイルランド系の家庭に、</p></div>";
$dom = new DOMDocument();
$dom->loadHTML($profile);
echo $dom->saveHTML();
echo $profile;
यहाँ HTML है कि वापस आ गया है:
<div lang="ja"><p>イリノイ州シカゴã«ã¦ã€ã‚¢ã‚¤ãƒ«ãƒ©ãƒ³ãƒ‰ç³»ã®å®¶åºã«ã€</p></div>
<div lang="ja"><p>イリノイ州シカゴにて、アイルランド系の家庭に、</p></div>