奇怪的HTML字符 - 使用PHP翻译?

时间:2013-10-14 19:43:30

标签: php html character-encoding domdocument

我正在使用DOMDocument从网络浏览器接收数据,以下是我需要帮助的示例:

Around the Web…

如您所见,该句中有许多奇怪的字符。如何将其翻译成可查看的句子?有php function吗?

2 个答案:

答案 0 :(得分:0)

问题是字符的编码。在读取DOM时,还要检索字符编码并使用它来读取文本:

http://php.net/manual/de/function.mb-convert-encoding.php

答案 1 :(得分:0)

编码

的问题显而易见

可以有几种选择:

  1. 为什么认为它有奇怪的符号?你在ASCII控制台或ASCII数据库中看到它吗?检查地点是否存储数据并将UTF8设置为编码
  2. 检查源 - 从抓取工具中获取的XML文件应具有正确的编码
  3. PS。如果输入数据不是UTF8,你需要mb_convert_encoding函数,但是你将它们存储为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();