日期:2014-05-16  浏览次数:20736 次

jquery easyui from 表单返回乱码!
如题,代码如下:
1:JS:代码
JScript code
     $("#form1").form({
                url : "testServlet", 
                method:"post",
                onSubmit : function(none) { 
                    return $(this).form('validate');
                },
                success : function(data) {
                    $.messager.alert("提示", data);
                } 
            });

2:服务端代码
Java code
public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8"); 
        String message = "{success:true,message:";
        String name = request.getParameter("name");
        System.out.println(name);
        String eml = request.getParameter("eml");
        String word = request.getParameter("word");
        String age = request.getParameter("age");
        String url = request.getParameter("url"); 
        message = message +"name "+name+"<br/>eml "+eml+"<br/>word "+word+"<br/>age "+age+"<br/>url "+url + "}"; 
        response.getWriter().println(message ); 
    }


现像是:在火弧下不是乱码!火弧浏览器编码是utf-8,在IE6下全是乱码,IE编码也是utf-8!请问下是什么原因!

------解决方案--------------------
,IE6.。。。

jquery使用了encodeURIComponent编码,对于统一为utf-8编码应该不会出乱码吧。。。换台有IE6的电脑试试看
------解决方案--------------------
差不多,如果不包含文件使用的是jquery.ajax提交,如果包含,则提交到隐藏的iframe中,然后给iframe添加onload事件获取加载完毕后输出的到iframe中的json格式的字符串内容
------解决方案--------------------


提交到iframe最保险。。不过照理说只要文件编码和网站编码统一为utf-8,基本很少出错乱码的问题。。
------解决方案--------------------
提交表单、所有中文value 
用String name = request.getParameter("name");
name = new String(name.getBytes("iso8859-1"),"utf-8");
system.out.println(name);应该就不会出现乱码了!!!
------解决方案--------------------
那就别用嘛 

探讨

引用:

差不多,如果不包含文件使用的是jquery.ajax提交,如果包含,则提交到隐藏的iframe中,然后给iframe添加onload事件获取加载完毕后输出的到iframe中的json格式的字符串内容



我都不想使用这个jquery easyui 这个组件了!

------解决方案--------------------
后台加上一句response.setContentType("text/html;charset=utf-8");