当我在我的PHP项目中使用htmlentities()函数时,我是否应该总是将它与标志一起使用,以便与其他语言字符兼容?
$my_variable = $some_data;
$output_variable = htmlentities($my_variable);
...或
$my_variable = $some_data;
$output_variable = htmlentities($my_variable, ENT_COMPAT, 'UTF-8');
如果以上都不是,使用此功能的正确方法是什么。
谢谢!
答案 0 :(得分:1)
一般来说,你根本不应该使用它。指定Content-Type
HTTP标头中使用的编码,然后使用真实字符而不是实体通常更有效。 (OTOH,您应该使用htmlspecialchars
将HTML中具有特殊含义的字符转换为实体。)
如果您使用它,那么如果您没有使用默认值(ISO-8859-1),则需要指定要转换的编码。在不使用UTF-8时指定UTF-8不太有帮助。
答案 1 :(得分:0)
如果您不确定自己使用什么字符集,第二种方式就更好了。但是,在大多数情况下,你会发现第一个没问题。