2

htmlspecialcharsで何かを確認しようとしています。データベースをUTF-8に変換したばかりで、ようやくすべてが機能していると思いますが、コード全体でPHP htmlspecialchars関数を使用しました。

htmlspecialchars($val, ENT_QUOTES,'ISO-8859-1',false);

すべてのエントリを次のように変更することを心配する必要がありますか?

htmlspecialchars($val, ENT_QUOTES,'UTF-8',false);

PHPのドキュメントは、私がそうする必要はないと示唆していますが、それは本当ですか?

この関数の目的上、文字セットISO-8859-1、ISO-8859-15、UTF-8、cp866、cp1251、cp1252、およびKOI8-Rは、htmlspecialchars()の影響を受ける文字が同じものを占めるため、実質的に同等です。これらすべての文字セットの位置。

4

1 に答える 1

4

htmlspecialchars()によって「処理」されるすべての文字は、7ビット/USASCIIの範囲にあります。そして、それらは前述のエンコーディングで同一(そして紛れもない)です。そうです、エンコーディングパラメータを変更しなくても害はありません。しかし、とにかくそうすることをお勧めします。

于 2009-12-03T11:04:38.340 に答える