これは、この(優れた)回答を参照しています。彼は、PHP で入力をエスケープするための最善の解決策は、mb_convert_encoding に続いて html_entities を呼び出すことだと述べています。
しかし、なぜ mb_convert_encoding を同じ to パラメーターと from パラメーター (UTF8) で呼び出すのでしょうか?
元の回答からの抜粋:
HTML タグの外側で htmlspecialchars($string) を使用しても、マルチバイト文字セット攻撃ベクトルに対して脆弱です。
最も効果的な方法は、次のように mb_convert_encoding と htmlentities を組み合わせて使用することです。
$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8'); $str = htmlentities($str, ENT_QUOTES, 'UTF-8');
これには、私が見逃している何らかの利点がありますか?