0
4

2 に答える 2

0

明らかにエンコーディングの問題

いくつかのオプションがあります:

  1. なぜ奇妙な記号があると思いますか? ASCII コンソールまたは ASCII db に表示されますか? データを保存した場所を確認し、エンコーディングとして 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 に答える