1

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

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

$str是从mysql出来的。

我看到ó它什么时候应该是ó在客户端。

我还在时事通讯中写了一些文本,我echo "ó";和我在客户端中看到它为ó.

然后我想我必须在$str应用之前做一些处理,htmlentities但我不明白我该怎么做。

我怎么知道出了什么问题(我应该做什么治疗)$str

4

1 回答 1

3

这解决了问题

https://stackoverflow.com/a/10539209/912450

//You must manually specify the encoding (UTF-8) for htmlentities()
echo htmlentities($str, null, "UTF-8");

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

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

于 2013-02-13T16:47:00.130 回答