mysql的中文乱码问题及解决方法--mysql中文乱码

   首先,我用的mysql版本号是5.5.17的,最近遇到的问题是在eclipse中通过jdbc往数据库写中文数据的时候,在数据库中显示的是??即乱码,为解决这个问题,搞了一个晚上(当然熄灯后就就寝了(__) )外加早上这会儿,搞得头都大了,改来改去导致连往数据库直接写中文都会报错(我把错误页贴出来吧)如下:

其实现在回头看看,乱码无非是改一下mysql安装文件中的my.ini文件以及data中的db.opt文件,具体修改如下:

将my.ini文件中的文件修改为: 

?
1
2
3
4
5
6
7
8
9
[client] 
port=3306
  
[mysql]
  
default-character-set=gbk
  
[mysqld] 
character-set-server=utf8

现在需要将data中的db.opt修改一下:

default-character-set=utf8 
default-collation=utf8_general_ci 

好了,现在修改文件完毕,现在需要重写启动mysql服务,进入mysql后输入命令: 

show variables like “%colla%”; 

然后再输入show varables like “%char%”; 
如果以上结果和下图相同那就设置成功了 


另外,以后如果再遇到从eclipse中往数据库写中文数据出sql异常时可以先在cmd中输入命令: 

show create database db;(db为数据库名)可以查看数据库的编码,如果还是latin1,可使用以下命令修改数据库编码: 
alter database db default character set utf8; 

这样就可以将数据库的编码改为utf8了。 

此时,再通过jdbc连接时,就可以很随意的添加中文到mysql中了。 

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns  ,随时随地学Java

今天看到一个手机也能赚钱的网站,与大家分享(真实可信,已亲身体验):

http://javalearns.jifenqiang.com/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值