关于Mysql乱码的解决

 

  以前也没有用过mysql ,用过的数据库就是Oracle和Sql Server,最近项目要使用MySql,去年的时候,也是别人建好的时候,在X50X5项目上使用过,现在要使用,只能自己先安装一个,从网上下载了mysql-5.6.14-osx10.7-x86_64.dmg这个,在机器上安装一个mysql服务做测试,当建了myBatis后,发现操作数据库的时候,不能插入中文,显示的是乱码,以为是程序的原因,我如是又安装了一个mysql-workbench-commercial-6.0.9-osx-i686.dmg来连接Mysql ,通过他来操作也不行,然后就GG查询出问题的原因:

  

 

 

mybatis连接mysql数据库插入中文乱码

http://blog.youkuaiyun.com/zht666/article/details/8955952

设置连接数据伊拉克队库的连接:jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&useUnicode=true

 

发现也不行,我估计是数据库字符集的原因,故查看如何修改mySql的默认字符集。

 

 

 

MySQL如何修改表格的字符集,如何修改某个字段的字符集

http://blog.youkuaiyun.com/lyjtynet/article/details/6261066

 

从mysql-workbench获取到创建表的语句,可以看出默认字符集是拉丁,估计是字符集的原因引起的乱码,故进行修改:

CREATE TABLE `Student` (

  `idStudent` int(11) NOT NULL,

  `Name` varchar(45) DEFAULT NULL,

  `age` int(11) DEFAULT NULL,

  `addtime` datetime DEFAULT NULL,

  PRIMARY KEY (`idStudent`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

修改字符集

use test;

alter TABLE Student CONVERT TO character set  utf8;

 

 

在看字符集已经修改了

CREATE TABLE `Student` (

  `idStudent` int(11) NOT NULL,

  `Name` varchar(45) DEFAULT NULL,

  `age` int(11) DEFAULT NULL,

  `addtime` datetime DEFAULT NULL,

  PRIMARY KEY (`idStudent`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

 

问题解决。现在对互联网的依赖越来越大了。

 

http://yangfei520.blog.51cto.com/1041581/411507

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值