テスト文字列:
$s = "convert this: ";
$s .= "–, —, †, ‡, •, ≤, ≥, μ, ₪, ©, ® y ™, ⅓, ⅔, ⅛, ⅜, ⅝, ⅞, ™, Ω, ℮, ∑, ⌂, ♀, ♂ ";
$s .= "but, not convert ordinary characters to entities";
$encoded = mb_convert_encoding($s, 'HTML-ENTITIES', 'UTF-8');
入力文字列がUTF-8であると仮定すると、これはほとんどすべてを数値エンティティにエンコードする必要があります。
私はASCIIをhtmlコード化テキスト(&#xxxx)にデコードする作業をしました。https://github.com/hellonearthis/ascii2web
htmlentitiesは正しく機能しません。幸いなことに、誰かがphpWebサイトにマルチバイト文字の翻訳を適切に行うように見えるコードを投稿しました