htmlspecialchars()函数中的utf-8

时间:2013-06-05 23:06:12

标签: php encoding utf-8 htmlspecialchars

关于在htmlspecialchars()函数中使用UTF-8,我有一点混淆:

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

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

希望它有意义。谢谢。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

我认为手册很简单,关于这个

  

定义转换中使用的编码。如果省略,则该参数的默认值为5.4.0之前的PHP版本中的ISO-8859-1,以及PHP 5.4.0之后的UTF-8。

这是关于输入和输出的。