后台Servlet从数据库取出的内容正常 也是中文不是乱码
也添加了
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
对应语句但是 在前台的Javascript异步接受回来之后 不管怎么弄 都是乱码
前台的
pageEncoding="utf-8"
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");也都改了 但还是乱码
把utf-8改成gb2312 也不行 请问这个要怎么处理

解决方案 »

  1.   

    inResponce.setContentType("text/xml;charset=UTF-8");
      

  2.   

    response.setContentType("text/xml;charset=UTF-8");
      

  3.   

    楼主在页面是用ajax吗? 如果用ajax从后台获取中文信息不行.
      

  4.   

    你的中文在服务器端必须也是UTF-8的,然后response.setContentType("text/xml;charset=UTF-8");这样通过ajax在前台应该就可以中文了
      

  5.   

    也尝试了
    你看我这个帖子 我把所有代码都贴上去了
    http://topic.csdn.net/u/20090729/14/ac6ed50f-8978-4be6-93c3-3386449fe677.html?09996810311644395能写编码的地方全都写了 还是不行 诶...
    帮我解决了吧 解决了分都给你
      

  6.   

    建议你用JOSN
    例子:
    后台测试代码如下:
    private void transFunction(HttpServletResponse response, JSONObject json)
    throws Exception {
    try {
    response.setHeader("X-JSON", json.toString());
    response.setCharacterEncoding("UTF-8");
    response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");// 清除缓存
    response.setHeader("Cache-Control", "no-store");
    response.setDateHeader("Expires", 0);
    response.setDateHeader("Expires", 1);
    response.getWriter().print(json.toString());

    } catch (RuntimeException e) {

    }
    }public void test() throws Exception
    {
       String name = "前台显示的内容";
      JSONObject json = new JSONObject();
      json.put("Name",name);
      HttpServletResponse response = ServletActionContext.getResponse();
      this.transFunction(response, json);
    }
    页面:
    <script type ="text/javascript" language ="javascript" >
            var req; //定义变量,用来创建xmlhttprequest对象
            function creatReq() // 创建xmlhttprequest,ajax开始
            {
                var url="ajaxOne.action"; //要请求的服务端地址
               req=getXmlHttpRequest();
                if(req) //成功创建xmlhttprequest
                {
                    req.open("POST",url,true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
                    req.onreadystatechange = callback; //指定回调函数
                    req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                    req.send(null); //发送请求
                }
            }
            
            function callback() //回调函数,对服务端的响应处理,监视response状态
            {
            
                if(req.readystate==4) //请求状态为4表示成功
                {
                    if(req.status==200) //http状态200表示OK
                    {
                        Dispaly(); //所有状态成功,执行此函数,显示数据
                    }
                    else //http返回状态失败
                    {
                        alert("服务端返回状态" + req.statusText);
                    }
                }
                else //请求状态还没有成功,页面等待
                {
                    document .getElementById ("myTime").innerHTML ="数据加载中";
                }
            }
            
            function Dispaly() //接受服务端返回的数据,对其进行显示
            {
             var AA= req.responseText.parseJSON();
            
                document .getElementById ("myTime").innerHTML ="帐号:" + AA.Name;
               
            }
            
            function getXmlHttpRequest()
            {        
             if(window.ActiveXObject)
             {             
             var ieArr=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP","Microsoft.XMLHTTP"]; 
             for(var i=0;i<ieArr.length;i++)
             {                 
             var xmlhttp= new ActiveXObject(ieArr[i]);
             }                 
             return xmlhttp;
             } 
             else if(window.XMLHttpRequest)
             {                
             return new XMLHttpRequest();             
             }            
            }        
        </script>
    注意在网上下个json.js
      

  7.   

    package com.iCharms.comm;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;public class FilterDAO implements Filter {   public FilterDAO() {
       
       
      }
    public void destroy() {
    // TODO Auto-generated method stub }
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    // TODO Auto-generated method stub
        request.setCharacterEncoding("UTF-8");
        chain.doFilter(request,response); } public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub }}在web.xml配置
     <filter>
       <filter-name>filterName</filter-name>
       <filter-class>com.iCharms.comm.FilterDAO</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>filterName</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      

  8.   


    建议修改配置文件来进行统一配置编码。
    web.xml 加上:
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
                org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
            <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>