Web开发中遇到的中文乱码处理

来源:互联网 发布:国内软件开发公司排名 编辑:程序博客网 时间:2024/04/27 20:50
一、文件名中文乱码或参数丢失符号
1、jsp页面代码:
<%
    FuJian fujianObj=(FuJian)pageContext.getAttribute("fuJian");
    String objurl=fujianObj.getUrl();
    objurl=java.net.URLEncoder.encode(objurl,"UTF-8");
%>
<a href="dowloadController.do?fileUrl=<%=objurl%>" title="点击下载">文件名</a>

2、Java代码:
    String filepath=request.getParameter("fileUrl");
    filepath = new String(filepath.getBytes("ISO-8859-1"), "UTF-8");
    
    response.setCharacterEncoding("UTF-8");
    response.setContentType("application/octet-stream");

这两步就基本可以搞定乱码和特殊字符了.

二、ajax方式提交中文参数乱码或丢失符号
1、前台Js代码
var paramvalue = $.trim($("#hello").val());
var value = paramvalue.replace(/\+/g, "%2B"); //处理加号
        value = value.replace(/\&/g, "%26");    //处理&符号
        
var url = "helloController.do?paramvalue="+value;
var result = $.ajax({url: url,async: false, cache: false}).responseText;

2、后台Java代码:
    String value=request.getParameter("paramvalue");
    value=new String(value.getBytes("iso8859-1"),"GBK");
    
这两部也就基本可以搞定乱码和特殊字符了。