0
4

2 回答 2

0

问题显然与编码有关

可以有几种选择:

  1. 为什么认为它有奇怪的符号?您是在 ASCII 控制台还是在 ASCII 数据库中看到它?检查您存储数据的位置并将 UTF8 设置为编码
  2. 检查源 - 从爬虫获取的 XML 文件应该具有正确的编码

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…&lt;/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();
于 2013-10-14T19:58:55.667 回答
0

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

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

于 2013-10-14T19:45:44.500 回答