数据库原来有中文的数据不是乱码,我的程序插入的是乱码,平台 myeclipse8.5编码为utf8
数据库也是utf8

解决方案 »

  1.   

      1.在mysql中表的字符集设置为utf8(不是这种格式可以将数据导出为utf8,然后再转换为gb2312),建表时就可以create   table   xxx(..)   charset=utf8;   
      2.在java程序中url写成jdbc:mysql://0.0.0.0:3306/try?useUnicode=true&characterEncoding=utf8
      

  2.   

    安装MySQL时选择编码用gb2312就好了!
      

  3.   

    建表时就可以create table xxx(..) charset=utf8;同意这个做法,mysql就是这样的,你再创建表时候如果没有指定编码,就是默认的编码,所以你在库中直接sql添加数据是可以加进中文的,但在程序中插入数据时候就是???,对吧。。这个是常见的问题。。另外也可能跟mysql版本有关,但是几率很小,基本确定是建表时候没有指定统一编码
      

  4.   

    配置文件内 写这个 "在java程序中url写成jdbc:mysql://0.0.0.0:3306/try?useUnicode=true&characterEncoding=utf8"是没有用的你可以试验一下看看。。只能是给表指定统一编码,可能mysql版本不同,会导致你重新建表设定统一编码才会,解决问题,,,你可以试验下证明我的说法good luck
      

  5.   

    看下你的页面编码都设置为UTF-8了吗
      

  6.   

    在你数据库的安装路径下
    找到MySQL\MySQL Server 5.0\my.ini
    打开然后搜索
    default-character-set=**
    改成GBK就行了
    然后重启下MYSQL就可以了
      

  7.   

    首先,数据库编码方式选为UTF-8
    其次,MyEclipse中你的项目编码改为UTF-8
    再次,插入乱码,一般是网络传输中编码方式不一致,客户端的内容传入数据库中,就可能出现问题。byte[] bs = str.getBytes();
    str = new String(bs, newCharset);    
    看看这样能不能解决。PS:这种方法十分机械,明显的问题是会影响效率。建议LZ找到根源,实在不行先把数据导出来,重新安装MySQL。但记得卸载后要去删除Application Data文件夹中的内容,否则可能出现密码设置不了的问题。
      

  8.   

    可以通过char[]数组来转换。。
    例如:
    char[] stupassword = passText1.getPassword();

    String tt=new String(stupassword);
      

  9.   

    安装数据库的时候指定为utf-8了 还有这个必要吗?
      

  10.   

    把my.ini改了,把字符集改成gbk就好了
      

  11.   

    回各位,我的程序utf8,我的数据库安装时选择utf8,且原有备份文件里有中文正常显示,只是我新插入的中文是乱码,
      

  12.   

    很显然是插入的时候不是utf-8编码啊 
      

  13.   

    System.out.println("在插入执行SQL语句前中文正常");