php表单传值-中文乱码

来源:百度知道 编辑:UC知道 时间:2024/05/26 00:52:28
我用表单POST方式提交,先到一个php页面,再require到一个php页面接收。但是打印出来之后是乱码。例如,输入‘阿’,输出‘%u963F’。我用url编码函数试了一下‘阿’的url编码不是‘%u963F’。
我的php页面能够显示中文,mysql数据库也设置好了的,也可以正确读取中文。就是用表单提交中文内容就会出现那种乱码。请大侠帮助!
apache或者php的配置文件里面需要更改字符集吗?我在apache的httpd.conf里面找不到addDefaultChara ...
我php页面上能够显示其他中文,只是表达传的值不能显示,还会是字符集的问题吗?
我又用get方法传了一遍,显示的还是乱码,不过不一样,直接是不认识的字符

首先你确定你传递数据的编码方式
可以用头声明header("Content-type:text/html;charset=utf-8");
其次接受页想要正常显示,必须也要有相同编码方式声明
其次,编码方式不在httpd.conf中在php.conf中有charset设置,这不过是缺省方式,在你页面中申明了编码方式是最重要的

方法:
1, 全部使用utf-8;
2, 文件存储为utf-8 without bom头;
3, 数据库使用utf-8 general ci;
4, url中的中文要rawurlencode;
5, 解析时不要decode;

是utf的编码问题

如果不想转码的话 就统一一下字符集

编码不统一.
请用header("Content-type:text/html;charset=utf-8");

3个文件的编码也都改成UTF-8