解决方案 »

  1.   

    你看看unicode 就知道了,所有计算机上使用的代码,都可以互相转换
    http://www.cnblogs.com/xuefuwu/archive/2012/05/06/2486577.html
      

  2.   

    java去连接Mysql的时候,数据库里边的记录都是Utf-8编码的,但是链接时characterEncoding用gbk,  utf8,  iso-8859-1为什么没有乱码问题呢
      

  3.   

    安装的时候 没有选utf-8吧?
      

  4.   

    数据库安装时选择的就是Utf-8,然后用gb2312依旧可以得到结果,无乱码
      

  5.   

    把character-set-client改为GBK
    这个设置可以解决命令行下得乱码,不过数据库里边都是Utf8编码,为何要设置为GBK才能解决命令行乱码呢
      

  6.   

    有没有大神知道从java通过驱动包到mysql之间,编码和解码的流程
      

  7.   

    在配置mql数据库的时候把编码选成utf-8
      

  8.   

    你那底下那个控制台出现乱码就出鬼了。要是出现乱码了,就意味着Eclipse只控制台输出只支持某一种编码了,那么使用其他编码的地区的人们还怎么活。
      

  9.   

    楼主,characterencoding这个参数时告诉数据,我发给你的数据是以什么“编码方式”编码的和你发给我的数据要以什么编码格式编码然后给我。而这个参数跟数据库里的编码方式没关系,这牵涉到数据在内存里是以什么编码方式存在,其实数据在内存里是以unicode编码存在的,我先跟你讲一下大概的流程吧。
    你从数据库获取数据的编码流程:
    发送查询数据请求-----数据库从硬盘上把数据弄到内存(这里数据库本身有个编码转换,比如在硬盘上是GBK的,所以这里会将GBK的数据转成unicode,然后放到内存)-----然后把内存里的数据通过网络发送给你(这里有另外一层编码转换,用到了你的那个参数characterencoding,假如该参数值是UTF-8,然后就会把内存里的数据由unicode转换为UTF-8通过网络发给你)-----你的项目接收到数据后,放到内存里面(之前说过,在内存里是以unicode编码存在的,所以这里会由UTF-8转为unicode),然后你在程序里的一切操作,比如Sting.getByte("GBK"),就是将字符串由unicode编码为GBK的字节数据,然后new String(byte[],"UTF-8"),就是把字节数据当做UTF-8的编码格式来解析(其实他是GBK编码的,这里就会出现乱码),转为unicode编码,然后再存到内存。
    同样,你发数据到数据库存储也一样。
    现在应该知道为什么无论你设置characterencoding为什么编码,都不会乱码的原因了吧,一切都是因为有了中间的转换过程unicode,而这一部,对你是透明的。