我数据库设置为gbk的表也设置为gbk的,html页面也设置为 <meta   http-equiv="content-type"   content="text/html;charset=GBK"/> ,jsp页面设置为:<%@ page contentType="text/html;charset=gbk" %> 。连接字符为"jdbc:mysql://localhost/xs?useUnicode=true&amp;characterEncoding=gbk",为什么还会出现从数据库读取出现中文乱码啊?而且也试了这个方法:public String codeToString(String str){
String s=str;
try{
byte tempB[]=s.getBytes("ISO-8859-1");
s=new String(tempB);
return s;
}
catch(Exception e){return s;
}
}
最后还是没用,求助高手。

解决方案 »

  1.   


    request.setCharacterEncoding("gbk");
      

  2.   

    写个字符过滤器设定
    request.setCharacterEncoding("gbk");
    response.setCharacterEncoding("gbk");
    就好了 
      

  3.   

    java不垃圾吧。
    tomcat自带的过滤器搞上就可以了。
      

  4.   

    windows下的mysql配置文件my.ini,一般在c:\windows\my.ini或者c:\winnt\my.ini可以直接在这个文件里面加上 
    default-character-set=gbk
      

  5.   

    =new String(s.getBytes("ISO-8859-1"),"GBK")
      

  6.   

    最好你可以加一个servlet的过滤器来过滤字符集,这样最好使了
      

  7.   

    request.setCharacterEncoding("gbk"); 
    response.setCharacterEncoding("gbk");