在HelloServlet 的首行加上以下一段试试。
private static final String CONTENT_TYPE = "text/html;charset=gb2312";response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.print(...);
应该没问题。

解决方案 »

  1.   

    解决方法:
        1.修改区域设置,改为"英语(美国)",重启机器。
        2.在jsp页面中加入一条语句:
          <%@ page contentType="text/html;charset=gb2312"%>
          
          要在jsp页面中正常显示中文信息,先把欲显示口语信息串"ISO8859-1"转化后:
          a.当区域设置为"英语(美国)"时,上面这条语句加入起作用;
          b.当区域设置为"中文(中国)"时,上面这条语句不能加入,才能正常显示中文。
        3.在编译servlet和jsp时加入代码选项。
          javac -encoding iso8859-1 myservlet.java
          在jsp的zone配置文件中,修改编译参数为:
          compiler=builtin-javac-encoding ISO8859-1
        4.在classpath中加入i18n.jar的路径
        5.最士的办法
          try{
              out.println(new((new String("我家在南方")).getBytes("GBK"),"ISO8859-1"));
          }catch(UnsupportedEncodingException e)
          {
              //......
          }      或者用下面这个函数:
          <%
              public String getStr(String str){
                  try{
                      String temp_p=str;
                      byte[] temp_t=temp_p.getBytes("ISO8859-1");
                      String temp=new String(temp_t);
                      return temp;
                  }catch(Exception e){
                  }
                  return "null";
              }
          %>