2013-10-14 21 views
0

我從使用的WebCrawler接收DOMDocument數據和這裏的是,我需要幫助的東西的例子:奇怪的HTML字符 - 翻譯使用PHP?

Around the Web…

正如你所看到的,也有那句話很多奇怪的字符。我如何將它翻譯成可查看的句子?有沒有php function

+0

'htmlentities'應該做的技巧 - http://php.net/manual/en/function.htmlentities.php –

+0

是從URL還是從本地文件讀取數據? –

回答

0

與編碼,問題顯然

可以有幾種選擇:

  1. 爲什麼是否認爲它有奇怪的符號?你看到它在ASCII控制檯或在ASCII數據庫?檢查的地方是你存儲數據,並設置UTF8編碼爲
  2. 檢查源 - 這是從爬行取應該有適當的編碼

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&nbsp;Web…">Around the&nbsp;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(); 
+0

我試過'header('Content-type:text/plain; charset = utf-8')的所有排列組合。 echo mb_convert_encoding(「Around the Web ...」,'UTF-8');'它仍然使用這些特殊字符返回句子。數據直接來自網絡爬蟲,我正在瀏覽器上查看它(鉻)。 – jkushner

+0

請勿將mb_convert_encoding與複製粘貼的錯誤字符串一起使用,它將無法正常工作,您在Chrome中看到了什麼?請提供xml文件 –

+0

'Around the Web…'的實際源代碼。檢查沒有複製粘貼現在 – jkushner