[PHP] Simple HTML DOMのiconvがらみエラー

Pocket

PHPのライブラリSimple HTML DOMを使ってWEBサイトのスクレイピングをしていると、たまに「Detected an illegal character」というiconvのエラーが出ることがあります。

Simple HTML DOMのソースを見ると、1051行目に次のコードがあります。ここでエラーが発生します。

$converted_text = iconv($sourceCharset, $targetCharset, $text);

これを以下のようにmb_convert_encodingを使うように変更するとエラーが出なくなりました。

$converted_text = mb_convert_encoding($text, $targetCharset, $sourceCharset);

しばらくこれで様子を見てみることに。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください