在我的项目中,我目前使用htmlentities()
来过滤来自数据库的数据:
echo htmlentities($variable_name);
我在美国,这对我来说很好。我的朋友在巴西,对他来说,一些文字字符没有正确显示。
如何使用htmlentities()
以使其正确国际化?
答案 0 :(得分:5)
问题可能是输出未以UTF-8编码。根据{{3}},函数
采用可选的第三个参数 charset定义字符集 用于转换。目前, ISO-8859-1字符集用作 默认。
所以你可以试试
htmlentities($string, ENT_COMPAT, 'UTF-8');
相反,这可能会解决问题,因为它不是默认的字符编码。
答案 1 :(得分:0)
虽然我怀疑Keoki是否正确,但另一个可能的问题可能是字体。如果使用特殊字符,而朋友的字体不包含该字符,他们只会看到丢失的字符符号。在网页或用于发布字符的任何媒体中,请确保设置了字体,因为默认字体上没有保证字体。
如果这两种情况都不是这样的话,那么一个没有出现的示例角色是什么?你能发布你正在使用的完整代码吗?
答案 2 :(得分:0)
您还可以尝试 iconv 将字符串转换为请求的字符编码