日期:2014-05-19  浏览次数:20610 次

Ajax Servlet 返回 中文乱码
我利用jquery 和dom4j做了一个小ajax实验 实验成功 但是中文乱码 总是显示 ??????

我觉得问题是处在response上 所以我直接用response.write方法写中文,传回到本地都是 ????
请问 应该怎样解决

Java code

 public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        PrintWriter printWriter = response.getWriter();
        response.setHeader("Content-Type", "text/xml ; charset=utf-8");
        response.setContentType("text/xml ; charset=utf-8");
        response.setCharacterEncoding("text/xml ; charset=utf-8");
    
        Document  document =DocumentHelper.createDocument();       
        Element rootElement = document.addElement("person");       
      count++;
      Element messagElement = rootElement.addElement("message");
      String str ="登录用户名"+name+"在线人数:"+count;
      byte[] bytes = str.getBytes("utf-8");
      String returnstring = new String(bytes,0,bytes.length,"utf-8");
      System.out.println(returnstring);
      messagElement.setText(returnstring);
        OutputFormat format = OutputFormat.createCompactFormat();
        format.setEncoding("utf-8");
        
        XMLWriter xmlWriter = new XMLWriter(printWriter,format);
        
        xmlWriter.write(document);
        printWriter.flush();






HTML code






------解决方案--------------------
以前碰到过这种情况,
如果页面 都改过了。那就是这个东西的问题,
好像 PrintWriter printWriter = response.getWriter();
有变过编码。换个位置还是怎么搞一下就好了,具体是怎么搞忘记了,试试吧