我有遇到过这种问题:
把mysql设为gb2312
程序里面也要设置成gb2312
这样就ok了

解决方案 »

  1.   

    我也遇到过同样的问题,先把mysql的默认字符集设置成gb2312,然后做一个filter把编码设置成也设置成gb2312,
    把这个filter的顺序设置成第一个,把所有jsp页面charset设置成gb2312,这样应该就不会出现编码的问题了
      

  2.   

    url="jdbc:mysql://localhost:3306/media_temp?useUnicode=true&characterEncoding=UTF-8"MySQL在命令行界面下:show variables like '%char%',看看出来的结果
    character_set_client
    character_set_connection
    character_set_results
    这三项如果是utf8汉字就会显示乱码可以事先set names gbk;
    这样数据库中的汉字就会正常显示.不知道楼主用的什么系统.我在xp下,mysql-front图形界面,运行set names gbk;刷新完毕,数据汉字就会显示正常.
    网上曾经看到,set names gbk;本身意思就是将character_set三个变量赋值"GBK"有一点我还没有搞清楚,那就是怎样才能将其自动的设置成为GBK,而不是每次启动都要set names ...关注.
      

  3.   

    本机配置的java环境:jdk1.6.0 ,tomcat6.0在MyEclipse6.0环境调试下通过。
    发表地址:请点
    在我的日志里,有问题请提问
      

  4.   

    用这个函数把汉字编码后存入数据库就好了:
    /**
         * 转换编码
         * @param str String型,待转换的字符串.
         * @return java能识别的编码.
         */
    public static String getStr(String str) {
    try {
    if(str == null || str.equals("")) {
    return str;
    }
    String temp_p = str;
    byte[] temp_t = temp_p.getBytes("ISO8859-1");
    String temp = new String(temp_t);
    return temp;
    }
    catch(Exception e) {
    return str;
    }
    }