我在action得到的中文部分是OK的,可是传到JSP中后得到的却是????在action中的代码:
response.setContentType("text/xml");
response.setHeader("charset", "gb2312");
if(innerText!=null)
response.getWriter().write(innerText.toString());//这个时候innerText.toString()里面还不是乱码在JSP中的代码:
通过responseXML得到返回部分
但中文部分却是????

解决方案 »

  1.   

    response.getOutputStream().write(innerText.toString().getBytes("gb2312"));
      

  2.   

    提交到后台前escape,后台unescape,一切OK
      

  3.   

    escape,unescape
    在后台如何实现呢?
      

  4.   

    同master_jt(天堂狗) 的方法,输出的时候也要转换一下
      

  5.   

    document.getElementById("results").innerHTML = unescape(xmlHttp.responseXML.xml);或者var rText = oXmlHttp.responseText; 改成 var rText = unescape(oXmlHttp.responseText);

    Response.Write(errMsg); 改成 Response.Write(escape(errMsg));
      

  6.   

    讲错了...不好意思....在JSP中里面:
    <%@page import="java.util.*"%>
    <%@page contentType="text/html; charset=GB2312"%>
    <%@page language="java"%>在action里面:
    xmlHttp.open("GET", "send.jsp", true);
    xmlHttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;text/xml;charset=gb2312");            //应用文档
    xmlHttp.send(null);应该可以了......