PHP接收GET中文参数乱码深入研究

如果gbk编码的页面生成的地址链接到utf-8的页面,gbk页面的中文是按照gbk的格式编码传送给下个页面,那么utf-8编码接收后肯定会出现乱码。

IIS的url重写模块,重写后的中文编码也是gbk,如果你的页面是utf-8编码,那么重写参数将会失效。

像这些情况,我们就需要使用php内置的转码函数来处理编码问题了:

方案1:

$str = iconv("gb2312","utf-8",$str);

或者

$str = iconv("utf-8","gb2312",$str);

方案2:

mb_convert_encoding($str, "utf-8", "gb2312");

或者

mb_convert_encoding($str, "gb2312", "utf-8");

时间: 2024-10-27 18:06:08

PHP接收GET中文参数乱码深入研究的相关文章

js的url中传递中文参数乱码,如何获取url中参数问题

一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript”> function send(){ var url = "test01.html"; var userName = $("#userName").html(); window.open(encodeURI(url + "?userName="

解决url中文参数乱码的问题--解码

<html> <body> <h3 class="projectName" id="projectName"></h3> <script type="text/javascript"> var unitID;    var unitName;    //获取参数的函数    function geturlPara()    {        var url = document.URL;

http中 get方法 传送中文参数乱码解决办法

http传送参数有两种方法:get 和post  当时使用get方法传递中文参数是会有乱码现象 解决办法: 1.在jsp压面url后面的参数使用 encodeURI:"&zxbghy="+ encodeURI(zxbghy) 2.在后台java获取参数时使用字节数组:temphgdmhy = new String(hgdmhy.getBytes("ISO-8859-1"), "UTF-8");  案例,用get方法传递两个中文参数:zxb

解决URL带中文参数乱码问题

通过配置Tomcat来解决URL代中文参数乱码的问题. 首先打开Tomcat安装目录 打开conf文件夹 打开server.xml,在大约65行的位置,加一个属性 URIEncoding="UTF-8" 这样就支持Url中文参数了.

java url中文参数乱码问题

http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转 JAVA 中URL链接中文参数乱码的处理方法JAVA 中URL链接中文参数乱码的处理方法 JAVA 中URL链接中文参数乱码的处理方法 在url中问参数乱码,我们已经在 "解决ajax提交中文.URL中文参数传递后的乱码问题的解决办法" 一张提出了一中解决办法, 网子是:http://www.javaly.cn/javahome/java/conte

spring mvc 中文参数乱码

最近做项目,springmvc的url中文参数乱码: 请求url: http://localhost:8080/supply/supply_list.htm?productName=测试&isHomePage= 在后端: @RequestMapping(value = SupplyURL.SUPPLY_LIST, method = RequestMethod.GET) public String toSupplyList (Model model, String productName) { P

Web中的中文参数乱码

中文参数乱码    1 get方式传参,中文乱码        修改tomcat中的配置server.xml        在修改端口的标签中添加属性URIEncoding="XXX"        <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8989" protocol="HTTP/1.1" redirectPort=

url中文参数乱码问题

1.问题: web项目里url的中文参数乱码 2.解决: (1)前台:encodeURI(encodeURI(code)) (2)后台:URLDecoder.decode(new String(code.getBytes("iso-8859-1"),"utf-8"), "utf-8") 3.疑问: (1)为什么前台需要编码两次? 因为request.getParameter(String)会进行一次URI的解码过程,调用内置的解码过程会导致乱码

jsp中request接收中文参数乱码问题解决办法

在利用表单提交数据时发现,获得的中文参数会发生乱码,解决方法如下: <body> <% String s=request.getParameter("uname"); s = new String(s.getBytes("ISO-8859-1"),"utf-8");//解决乱码问题 %> <%=s %> </body> s = new String(s.getBytes("ISO-8859