精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-12-22
唉 终于找到正解啊 !
|
|
返回顶楼 | |
发表时间:2005-12-22
response.setCharacterEncoding("UTF8"); response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); String state = request.getParameter("state"); Document document = DocumentHelper.createDocument(); Element root = document.addElement("state"); Element city = null; if("zj".equals(state)){ city = root.addElement("city"); city.setText("杭州"); city = root.addElement("city"); city.setText("huzhou"); }else{ city = root.addElement("city"); city.setText("南京"); city = root.addElement("city"); city.setText("苏州"); city = root.addElement("city"); city.setText("yangzhou"); } PrintWriter out=response.getWriter(); String s = root.asXML(); out.write(s); out.close(); 上面这个可以解决中文问题 我把生成XML的改成了用dom4j,这种做法在IE、Firefox中都可以正常显示中文,设置成GBK时FireFox中可以显示中文,原因好像是生成的XML的编认编码就是UTF8,输出document.asXML()看到XML的编码是UTF8,通过修改字符编码的方式(s = new String(s.getBytes("UTF-8"),"ISO8859-1");)在IE中能正常显示中文,但FireFox中还是乱码 我的浏览器版本: IE:6 Firefox:1.5 Struts+ajax 系统中使用了中文编码过滤器 |
|
返回顶楼 | |