我從使用的WebCrawler接收DOMDocument
數據和這裏的是,我需要幫助的東西的例子:奇怪的HTML字符 - 翻譯使用PHP?
Around the Web…
正如你所看到的,也有那句話很多奇怪的字符。我如何將它翻譯成可查看的句子?有沒有php function
?
我從使用的WebCrawler接收DOMDocument
數據和這裏的是,我需要幫助的東西的例子:奇怪的HTML字符 - 翻譯使用PHP?
Around the Web…
正如你所看到的,也有那句話很多奇怪的字符。我如何將它翻譯成可查看的句子?有沒有php function
?
問題是字符的編碼。當讀取DOM,也取得字符編碼,並用它來閱讀文本:
好的。我如何閱讀字符編碼?這是通過'DOMDocument'訪問的嗎?然後,我可以將它轉換爲UTF-8編碼嗎? – jkushner
與編碼,問題顯然
可以有幾種選擇:
PS XML文件。您需要在情況mb_convert_encoding函數輸入數據不是UTF8,但你將它們存儲爲UTF8
更新:這裏是UTF8保存PHP文件,其正常工作:
$original_string = '<html><head><meta charset="utf-8" /></head><body><a href="/around-the-web/" rel="bookmark" title="Permanent Link to Around the Web…">Around the Web…</a></body></html>';
$doc = new DOMDocument();
$doc->loadHTML($original_string);
header('Content-type: text/html; charset=utf-8');
echo $doc->actualEncoding . '<br>';
echo $doc->xmlEncoding . '<br>';
echo $doc->saveHTML();
我試過'header('Content-type:text/plain; charset = utf-8')的所有排列組合。 echo mb_convert_encoding(「Around the Web ...」,'UTF-8');'它仍然使用這些特殊字符返回句子。數據直接來自網絡爬蟲,我正在瀏覽器上查看它(鉻)。 – jkushner
請勿將mb_convert_encoding與複製粘貼的錯誤字符串一起使用,它將無法正常工作,您在Chrome中看到了什麼?請提供xml文件 –
'Around the Web…'的實際源代碼。檢查沒有複製粘貼現在 – jkushner
'htmlentities'應該做的技巧 - http://php.net/manual/en/function.htmlentities.php –
是從URL還是從本地文件讀取數據? –