1

我对在 htmlspecialchars() 函数中使用 UTF-8 有点困惑,如下所示:

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

我不明白的是,使用它是否会使 htmlspecialchars() 创建一个 UTF-8 代码,或者它只是通知 htmlspecialchars() $string 是 UTF-8,这样它就不会搞砸了。我的意思是我们在指定吗?输入还是我们指定输出?

希望这是有道理的。谢谢你。

4

3 回答 3

3

第三个参数用于输入输出。如果要在字符集之间进行转换,则必须在外部进行,例如使用 iconv 函数。

于 2013-06-05T23:11:10.283 回答
2

第三个参数只是告诉 htmlspecialchars() 不要弄乱 Unicode 字符串。您需要告诉 htmlspecialchars() 输入编码是什么。因此,这也是输出中使用的编码。

请记住,PHP 不支持 Unicode,因此它不关心您使用的是什么字符集。htmlspecialchars() 中的那个参数只用来告诉 PHP 不要弄乱你的字节。

于 2013-06-05T23:14:03.957 回答
0

我认为手册对此很直接

定义转换中使用的编码。如果省略,则此参数的默认值在 PHP 5.4.0 之前的版本中为 ISO-8859-1,从 PHP 5.4.0 开始为 UTF-8。

这是关于输入和输出的。

于 2013-06-05T23:11:24.450 回答