考虑这个例子,
如果我在PHP 5.5.9(cli)下运行此代码,终端会输出:
test.php
:<?php
$mystr = "<p>Hello, με काचं ça øy jeść</p>";
var_dump($mystr);
$domdoc = new DOMDocument('1.0', 'utf-8'); //DOMDocument();
$domdoc->loadHTML($mystr); // already here corrupt UTF-8?
var_dump($domdoc);
?>
如果我在PHP 5.5.9(cli)下运行此代码,终端会输出:
$ php test.php
string(50) "<p>Hello, με काचं ça øy jeść</p>"
object(DOMDocument)#1 (34) {
["doctype"]=>
string(22) "(object value omitted)"
...
["actualEncoding"]=>
NULL
["encoding"]=>
NULL
["xmlEncoding"]=>
NULL
...
["textContent"]=>
string(70) "Hello, με à¤à¤¾à¤à¤ ça øy jeÅÄ"
}
显然,原始字符串是正确的UTF-8格式,但DOMDocument的 textContent
编码不正确。
那么,我该如何在DOMDocument中以正确的UTF-8格式获取内容呢?