Php 我应该如何使用htmlentities来显示utfó;(不是Ã;³;)

Php 我应该如何使用htmlentities来显示utfó;(不是Ã;³;),php,email,encoding,html-email,Php,Email,Encoding,Html Email,我正在用PHP写一个小时事通讯 我使用的是PHP的htmlentities($str),所以在客户端的电子邮件中编码不会有问题 这个$str来自mysql 我看到客户机中的ó应该是ó 我还在时事通讯中写了一些文字,其中我echo“ó;”我在客户机中看到它是ó 然后我想在应用htmlentities之前,我必须对$str进行一些处理,但我不知道该怎么办 我如何知道有什么问题(我应该做什么治疗)$str?这就解决了问题 问题似乎是(根据文档),如果未指定UTF-8,在5.4.0之前的

我正在用PHP写一个小时事通讯

我使用的是PHP的
htmlentities($str)
,所以在客户端的电子邮件中编码不会有问题

这个
$str
来自mysql

我看到客户机中的
ó
应该是
ó

我还在时事通讯中写了一些文字,其中我
echo“ó;”我在客户机中看到它是
ó

然后我想在应用
htmlentities
之前,我必须对
$str
进行一些处理,但我不知道该怎么办

我如何知道有什么问题(我应该做什么治疗)
$str

这就解决了问题

问题似乎是(根据文档),如果未指定UTF-8,在5.4.0之前的PHP版本中,ISO-8859-1是
htmlentities
的默认编码


如果
$str
是UTF8编码的,那么它只能在PHP>=5.4.0中正常工作,如果没有指定编码,UTF-8是
htmlentities
的默认编码。

只需使用UTF-8编码输出页面,您就不必担心任何此类事情。
//You must manually specify the encoding (UTF-8) for htmlentities()
echo htmlentities($str, null, "UTF-8");