首页 > 代码库 > 小问题总结

小问题总结

  1. IE下中文乱码处理
    URL中含有汉字时,IE不会自动转为UTF8编码。必须自己手动用js的encodeURI或@iSea  提到的函数转码为UTF8格式之后,再拼接你要post的URL。这样服务器端处理时得到的就UTF8编码,而不是乱码。代码调整如下即可:

    var menuName = encodeURI($("#menuName").val())

  2. 后台处理乱码(针对不同浏览器)
    String fileName = request.getParameter("fileName");// 解决中文文件名乱码问题
    if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {
       fname = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器
    } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
        fname = URLEncoder.encode(fileName, "UTF-8");// IE浏览器
    }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {
        fname = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌
    }

     

  3. 从页面向后台传递#号
      var  param =encodeURIComponent("abc#xyz");  //前台处理、传值
      window.location="some_web_project/xxx.jsp?param=" + param;
    
      String param =request.getParameter("param");  //后台取值

     

小问题总结