论坛首页 Web前端技术论坛

关于《[原创]一个ajax的例子》的中文问题

浏览 11356 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-12-22  
唉 终于找到正解啊 !
0 请登录后投票
   发表时间: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
系统中使用了中文编码过滤器
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics