eclipse从数据库获取数据时控制台乱码问题

最近在学习HQL的时候,想从数据库获取数据时eclipse控制台乱码,一开始以为是控制台设置的编码有问题,然后就修改了控制台的编码,run->run Configurations->common->enconding 改为了utf-8(默认为GBK,创建表的时候用的编码为utf8),所以想统一编码,修改后问题依然存在,然后我再修改了工程的properties->resource->text-file-encoding 的编码为utf-8,但是还是无济于事,到最后问了个大神,才知道是数据库的编码问题,我把问题的解决分享出来,希望有同样问题的朋友可以更快的解决问题。

1.查看数据库的编码,在数据库客户端输入:SHOW VARIABLES LIKE ‘character_set_%’;
2.设置数据库的编码为eclipse的默认编码(如:gbk),在客户端输入: SET NAMES ‘gbk’;

它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
但是以上只是暂时性的,要想永久性修改,按以下步骤修改即可:
1).要修改数据库的配置文件my.ini,要修改my.ini之前要将本地服务中的数据库停止,要不会在保存的时候显示“拒绝访问”;
2).停止服务后,打开my.ini文件 修改default-character-set=GBK,
在文件末尾加上
character_set_server=GBK
init_connect=’SET NAMES GBK’
3).保存后,再启动服务,再在数据库客户端输入:SHOW VARIABLES LIKE ‘character_set_%’;查看此时的编码,除了character_set_filesystem和character_set_system外,其它的编码都会设置为了gbk,则配置成功。
(ps:character_set_system是安装数据库的时候设置的,要想修改的话,可能需要卸载重装,如果解决了问题的话,就不要白费精力了)

4.另外值得注意的是,创建表的时候的编码最好也设置为gbk,让所有的编码都统一起来,这样发生乱码的情况就会更少了。

以上只是我自己总结出来的一些经验而已,对数据库的编码还没有很深入的了解,未免有过失和遗漏之处,如有错误,请加以指正,另外我有更好的解决办法,会继续更新的。谢谢!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值