1

次のように htmlspecialchars() 関数で UTF-8 を使用することに関して、少し混乱しています。

htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

私が理解していないのは、これを使用して htmlspecialchars() が UTF-8 コードを作成するのか、それとも htmlspecialchars() に $string が UTF-8 であることを通知するだけなので、混乱しないのかということです。つまり、私たちは指定していますか?入力または出力を指定していますか?

それが理にかなっていることを願っています。ありがとうございました。

4

3 に答える 3

2

3 番目のパラメーターは、Unicode 文字列を台無しにしないように htmlspecialchars() に指示するためのものです。入力エンコーディングが何であるかを htmlspecialchars() に伝える必要があります。結果として、それは出力で使用されるエンコーディングでもあります。

PHP は Unicode をサポートしていないため、使用している文字セットは気にしないことに注意してください。htmlspecialchars() のそのパラメーターは、バイトを台無しにしないように PHP に指示するためにのみ使用されます。

于 2013-06-05T23:14:03.957 に答える