如何使用PHP htmlentities()?

时间:2011-06-25 04:13:44

标签: php

在我的项目中,我目前使用htmlentities()来过滤来自数据库的数据:

echo htmlentities($variable_name);

我在美国,这对我来说很好。我的朋友在巴西,对他来说,一些文字字符没有正确显示。

如何使用htmlentities()以使其正确国际化?

3 个答案:

答案 0 :(得分:5)

问题可能是输出未以UTF-8编码。根据{{​​3}},函数

  

采用可选的第三个参数   charset定义字符集   用于转换。目前,   ISO-8859-1字符集用作   默认。

所以你可以试试

htmlentities($string, ENT_COMPAT, 'UTF-8');

相反,这可能会解决问题,因为它不是默认的字符编码。

答案 1 :(得分:0)

虽然我怀疑Keoki是否正确,但另一个可能的问题可能是字体。如果使用特殊字符,而朋友的字体不包含该字符,他们只会看到丢失的字符符号。在网页或用于发布字符的任何媒体中,请确保设置了字体,因为默认字体上没有保证字体。

如果这两种情况都不是这样的话,那么一个没有出现的示例角色是什么?你能发布你正在使用的完整代码吗?

答案 2 :(得分:0)

您还可以尝试 iconv 将字符串转换为请求的字符编码

http://www.php.net/manual/en/function.iconv.php