我利用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();
有变过编码。换个位置还是怎么搞一下就好了,具体是怎么搞忘记了,试试吧