关于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‘ ); 

  果然问题解决了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。