<%@ page contentType="text/html; charset=GB2312" %>

解决方案 »

  1.   

    s=new String(s.getBytes("ISO8859_1"),"GBK");//包治百病
      

  2.   

    这涉及到了你的数据库的字符集编码、class中的字符集编码、jsp页面中的字符集编码,你必须弄清他们具体的编码方式。一般情况下,数据库中的编码方式是ISO-8859-1,JSP中是GB2312或者GBK。
    如果一个字符或者汉字是按照ISO-8859-1编码的,那么在一个设定字符集为GBK或者GB2312的JSP页面中,ISO-8859-1编码的字符或者汉字,按照GBK或者GB2312显示没有对应的编码就会显示?或者乱码。
    从数据库中取出数据str,其编码ISO-8859-1,要显示的JSP页面编码GB2312,那么应该在JSP页面中进行转换:
    str=new String(str.getBytes("ISO8859_1"),"GB2312");
    这样才可能正确显示中文。