我用jsp写的一个很简单的例子(是我项目测试的一部分)。servlet也可以的,只是我现在不能把我的代码给你。请注意你的endcoding 设置。
<%
response.setContentType("text/xml");
out.println("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
out.println("<Document>");
out.println("<Title>Wistron Menu Page</Title>");
out.println("<Content>");
out.println("<Menu>");
out.println("<MenuGroup name=\"\">");
out.println("<SubMenu href=\"#\" label=\"ZosaTapo Home\"  handle=\"#\">");
out.println("<Item href=\"#\" label=\"Home One\"/>");
out.println("<Item href=\"#\" label=\"Home Two\"/>");
out.println("</SubMenu>");
out.println("<SubMenu href=\"#\" label=\"ZosaTapo Home\"  handle=\"#\">");
out.println("<Item href=\"#\" label=\"Home One\"/>");
out.println("<Item href=\"#\" label=\"Home Two\"/>");
out.println("</SubMenu>");
out.println("<SubMenu href=\"#\" label=\"ZosaTapo Home\"/>");
out.println("</MenuGroup>");
out.println("</Menu>");
out.println("<Chinese>中国人</Chinese>");
out.println("</Content>");
out.println("</Document>");
%>

解决方案 »

  1.   

    这个不对。
    偶说过直接在servlet中用以下代码可正常显示(不通过Reader读出): 
    ...... 
    out.println("\t<DeptList>") ; 
    out.println("\t\t<ID>001</ID>") ; 
    out.println("\t\t<Name>中文</Name>") ; 
    out.println("\t</DeptList>") 
    ......。
      

  2.   

    在SERVLET中设置:
        request.setCharacterEncoding("gb2312");
        response.setContentType("text/html; charset=gb2312");
      

  3.   

    设置为
    request.setCharacterEncoding("gb2312");
    response.setContentType("text/html; charset=gb2312");
    也不行。还有把UTF-8全改为gb2312时,中文字符不能写入XML文件中。以上偶都试了,还是不行。
    我用的APP SERVER为WebLogic6.10。谢谢大家的关注!