关于htmlspecialchars实体字符转码的问题

php对post过来的数据进行实体字符转码,我的页面编码是gb2312,刚开始是这样:

 

$post = htmlspecialchars ( $post); 

  

 取到的$post值为空,但是有时候是好的(中文有时会出问题),不是一直这样。  

翻了一下php文档,

The third argument charset defines character set used in conversion. The default character set is ISO-8859-1. Support for this third argument was added in PHP 4.1.0. 

会不会是默认编码为iso-8859-1的原因,换成gb2312试一下

 

$post = htmlspecialchars ( $post, ENT_NOQUOTES, 'gb2312' ); 

  果然问题解决了。

posted on 2015-01-04 17:12  jenqz  阅读(234)  评论(0编辑  收藏  举报