我对在 htmlspecialchars() 函数中使用 UTF-8 有点困惑,如下所示:
htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
我不明白的是,使用它是否会使 htmlspecialchars() 创建一个 UTF-8 代码,或者它只是通知 htmlspecialchars() $string 是 UTF-8,这样它就不会搞砸了。我的意思是我们在指定吗?输入还是我们指定输出?
希望这是有道理的。谢谢你。
我对在 htmlspecialchars() 函数中使用 UTF-8 有点困惑,如下所示:
htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
我不明白的是,使用它是否会使 htmlspecialchars() 创建一个 UTF-8 代码,或者它只是通知 htmlspecialchars() $string 是 UTF-8,这样它就不会搞砸了。我的意思是我们在指定吗?输入还是我们指定输出?
希望这是有道理的。谢谢你。
第三个参数用于输入和输出。如果要在字符集之间进行转换,则必须在外部进行,例如使用 iconv 函数。
第三个参数只是告诉 htmlspecialchars() 不要弄乱 Unicode 字符串。您需要告诉 htmlspecialchars() 输入编码是什么。因此,这也是输出中使用的编码。
请记住,PHP 不支持 Unicode,因此它不关心您使用的是什么字符集。htmlspecialchars() 中的那个参数只用来告诉 PHP 不要弄乱你的字节。
我认为手册对此很直接
定义转换中使用的编码。如果省略,则此参数的默认值在 PHP 5.4.0 之前的版本中为 ISO-8859-1,从 PHP 5.4.0 开始为 UTF-8。
这是关于输入和输出的。