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);
しばらくこれで様子を見てみることに。