zoukankan      html  css  js  c++  java
  • [转]IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!

    原文地址:https://cloud.tencent.com/developer/article/1334736

    前台用url传值中文,后台用request.getParameter接收参数。在Firefox,Chrome等浏览器中没有问题。但用IE浏览器就又会出现参数中文乱码现象。 IE、Firefox、Chrome浏览器对URL的处理各不相同,浏览器在传输URl时得对URL进行编码,IE默认是以UTF-8来传输 的,Firefox肯定不是以UTF-8来编码,有可能是以ISO-8859-1来编码的,而Chrome好像是采用的GBK来编码。 如果不对中文参数进行处理,那么中文字符经各个浏览器以自己的编码方式传输到服务器后就出现了各种编码方式,而服务器却只能以一种编码方式来对接收到的URL进行解码。这样的话和服务器使用的编码方式一样的浏览器在使用带中文的URl时不会出现问题,其他的浏览器则会出现问题。

    解决方法:

    我们可以在参数传递之前,我们自己先进行编码,在获取参数时,我们再进行解码。这样就可以得到我们想要的中文参数了,而且很好的处理了不同浏览器中兼容性问题!

    具体实例:
    JSP页:
    var newUrl = "checkLogin/lessonClassList?userName=张三";
    newUrl = encodeURI(newUrl);//编码
    $("#dg").datagrid("options").url=newUrl;
    $("#dg").datagrid("reload");
    JAVA后台:
    String name = request.getParameter("userName");
    String u_name = java.net.URLDecoder.decode(name, "UTF-8");// 解码
    u_name = new String(u_name.getBytes("iso-8859-1"), "utf-8");

    这样我们得到的u_name就是正常的中文参数了,很好的处理了在不同浏览器的兼容性!

  • 相关阅读:
    Linux五种IO模型
    怎样理解阻塞非阻塞与同步异步的区别?
    .NET 框架 (转载)
    数组 反转
    排序 归并排序&逆序对
    快速寻找满足条件的2个数
    数组 寻找最大的第k个数
    字符串 删除字符串开始以及末尾的空白符,并把数组中间的多个空格(如果有)符转换为1个
    排序 快速排序
    java8常用api
  • 原文地址:https://www.cnblogs.com/dirgo/p/11309434.html
Copyright © 2011-2022 走看看