我用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>");
%>
<%
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>");
%>
偶说过直接在servlet中用以下代码可正常显示(不通过Reader读出):
......
out.println("\t<DeptList>") ;
out.println("\t\t<ID>001</ID>") ;
out.println("\t\t<Name>中文</Name>") ;
out.println("\t</DeptList>")
......。
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
request.setCharacterEncoding("gb2312");
response.setContentType("text/html; charset=gb2312");
也不行。还有把UTF-8全改为gb2312时,中文字符不能写入XML文件中。以上偶都试了,还是不行。
我用的APP SERVER为WebLogic6.10。谢谢大家的关注!