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' );
果然问题解决了。