我试图用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;
它显示正确.我try 了saveHTML和saveXML,但都没有正确显示.我使用的是PHP5.3.
我看到:
ã¤ãªãã¤å·ã·ã«ã´ã«ã¦ãã¢ã¤ã«ã©ã³ãç³»ã®å®¶åºã«ã9人åå¼ã®5çªç®ã¨ãã¦çã¾ãããå½¼ãå«ãã¦4人ã俳åªã«ãªã£ããç¶è¦ªã¯æ¨æã®ã»ã¼ã«ã¹ãã³ã§ãæ¯è¦ªã¯éµä¾¿å±ã®å®¢å®¤ä¿ã ã£ããé«æ ¡æ代ã¯ãã£ãã£ã®ã¢ã«ãã¤ãã«å¤ãã¿ãæè²è³éãåããªããã«ããªãã¯ç³»ã®é«æ ¡ã¸é²å¦ã
应显示的内容:
イリノイ州シカゴにて、アイルランド系の家庭に、9人sibling の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>