你在Servlet里加上这句话response.setContentType("text/html; charset=gb2312");

解决方案 »

  1.   

    试试:
    str = new String(str.getBytes("GB2312"),"8859_1");
    str = new String(str.getBytes("8859_1"),"GB2312");
      

  2.   

    使用字符集转换函数或者使用filter,这个坛子中有太多的这样的问题。
      

  3.   

    response.setContentType("text/html; charset=gb2312");
      

  4.   

    还有,字符集转换函数的帮助在哪里,请给指点一下吧?
    jdk文档
      

  5.   

    用的什么服务器?如果response.setContentType("text/html; charset=gb2312")不行,可以试试request.setCharacterEncoding("gb2312"),另外,最好别用转换函数,这样以后移植不太好。
      

  6.   

    设置页面的字符集呀
    response.setContentType("text/html; charset=gb2312");
      

  7.   

    用什么样的方式编码就要用什么样的方式解码,
    tomcat中默认的编码方式是iso-8859-1他是单字符集的,也就是说他以一个字母为单位,而
    汉字都是双字符集的就是两个字母为单位,
    所以你在servlet中会出现乱码,一般是要设像楼上的设置才对request.setCharacterEncoding("gb2312"),
      

  8.   

    JSP最上面加上:
    <%@ page contentType="text/html;charset=gb2312"%>中间加上:
    <META HTTP-EQUIV="pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
    <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
      

  9.   

    最气人的是tomcat在面页提交的时候如果仅仅只加了response.setContentType("text/html; charset=gb2312")还是不能正确处理中文,还要加这么一句看似画蛇添足的一条request.setCharacterEncoding("gb2312"),太让人bu了,resin的中文处理机制真是比tomcat好很多地说呵!