你从数据库获得的信息是以UTF-8进行编码的,当传递到Myeclipse下,获得的数据是以GB2312 编码的,即Myeclipse会用GB2312对数据库中以UTF-8 编码的字符再次编码,得到的肯定是乱码。
解决方法,推荐的是使用String a = new String("数据库数据"getBytes("ISO8859-1"),"GB2312");将字符转换为GB2312,这样应该就显示正常了
插入的数据乱码有很多原因:
1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的
2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")
3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码
4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,myini加上character-set-server=utf8,然后重启mysql服务就可以了
一般出现乱码的话,基本就是这些原因了
你这个应该不是程序的问题,而是客户端字符编码问题
首先,
你要保证你使用的客户端(比如secureCRT编码)、OS的LANG编码。要一致
其次,最好将客户端的NLS_LANG编码设置与oracle server一致。
你可以直接export LANG=c
然后看看显示还是乱码吗,把secureCRT等客户端的编码设置为UTF-8
以上就是关于Java中连接数据库时汉字都变成问号是怎么回事全部的内容,包括:Java中连接数据库时汉字都变成问号是怎么回事、高分悬赏 MYSQL数据库里添加了中文 但都是问号 编码格式改了gbk 但还都是问号 跪求 解答、oracle导入数据库报错,全是问号,求解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)