2013-02-13 52 views
1

我正在写一个小的通讯在PHP如何要用htmlentities显示

我使用PHP的htmlentities($str),所以我必须在客户的电子邮件编码没有问题UTF O(不是A 3)。

这个$str是从MySQL出来的。

我看到ó当它应该是在客户端ó

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

那么我想我应该在htmlentities之前对$str做一些处理,但我不明白我该怎么做。

我怎样才能知道什么是错的(我应该怎么做)$str

+0

只是用UTF-8编码输出你的页面,你不需要担心这种事情。 – SDC 2013-02-13 16:31:24

回答

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,ISO-规定,在PHP版本8859-1是htmlentities的默认编码。

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