>>411
数値文字参照をmb_detect_encoding()で判定してもASCIIにしか判定されないのよね。
?[0-9];で構成された文字列だし。

mb_convert_encoding($str, 'SJIS', 'HTML-ENTITIES');
で、数値文字参照を通常の文字列に変換出来ることは分かったけど、SJIS以外の文字は
"?"に変換されるみたいで、元から"?"を含む文字列だと変換に失敗したのか判断に困る。

> 正規表現で文字コードの範囲内かどうかをチェックするなり
これをやろうとすると、SJISとUTF-8(数値文字参照)のマッピングが細切れになってて、
結構大変そうです。