Java中连接数据库时汉字都变成问号是怎么回事?

如题所述

你从数据库获得的信息是以UTF-8进行编码的,当传递到Myeclipse下,获得的数据是以GB2312 编码的,即Myeclipse会用GB2312对数据库中以UTF-8 编码的字符再次编码,得到的肯定是乱码。
解决方法,推荐的是使用String a = new String("数据库数据".getBytes("ISO8859-1"),"GB2312");将字符转换为GB2312,这样应该就显示正常了追问

那要怎么办?改了Myeclipse中的,代码里的汉字就成了乱码

追答

能稍微帖一点代码么,你是从数据库取数据时乱码,还是存的时候乱码?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-09
字符集不一样 ,汉字用的较多的是GB2312,当然你也可以统一使用Unicode字符集
第2个回答  2013-06-09
不理解什么意思。编码格式换成“utf-8‘追问

换过了,可是代码里的汉字就变成乱码了

第3个回答  2013-06-09
你看下你数据库是什么字符编码追问

utf_8的

追答

你项目用的什么编码

追问

MyEclipse

追答

项目的编码格式啊,还有你要看下你是java上面的字符串就是乱码,还是只是传入数据库是乱码

追问

只是传入数据库的成了乱码

追答

你把项目的编码格式设置成utf-8

追问

那样代码里的汉字及成了乱码了

相似回答