出现问题后,我按网上的说法
在index.php(提交表单的页面)前面加了
在page-1.php(要获取的页面)
加了 header(content-type:text/html;charset=gb2312);
$key=$_post['key']=iconv(utf-8,gb2312,$_post[key]);
结果还是不行。我是菜鸟咯,随便发表意见,反正把问题解决就行!
------解决思路----------------------
index.php 首行加上
header(content-type:text/html;charset=gb2312);
另外,把php文件也设置为gbk编码
------解决思路----------------------
header() 函数向客户端发送原始的 http 报头。
元素可提供有关页面的元信息
关于meta的介绍,我一下说不清楚,看下面的介绍吧
http://www.w3school.com.cn/tags/tag_meta.asp
------解决思路----------------------
在index.php(提交表单的页面)前面加了
如果这个 meta 生效的话,提交的表单就是 gb2312 编码的了
所以 在page-1.php(要获取的页面)
$key=$_post['key']=iconv(utf-8,gb2312,$_post[key]);
是错误的!
你这是把 gb2312 当做 utf-8 处理,怎么能得到正确的结果呢?
header(content-type:text/html;charset=gb2312);
位于 http 协议头中,其优先级高于
------解决思路----------------------
结果还是不行、还是一样....
什么叫“还是不行”、“还是一样”
到底是怎样的“不行”、怎样的“一样”
------解决思路----------------------
header()前面不能有任何输出
------解决思路----------------------
解决就好,知其然也要知其所以然,自己总结一下吧
其实每次传输过程都要考虑前后的编码问题,别忘了,编辑器打开php文件写代码也是一次传输过程,保存是另一次,按这样的思路,自己列出每一个传输过程再检查问题就变简单了,
------解决思路----------------------
统一编码就好,
用个好的编辑器也很重要,
推荐notepad++,想改编码,非常方便。
