Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COER) 解决办法

在向mysql 插入中文的过程中,系统报错:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COER)

这是由于mysql 默认的编码格式与存入的数据格式不一样导致的,解决办法:

打开mysql安装目录,里面有个my.ini文件,打开这个文件,里面有两处字符集的设置,默认是拉丁(latin1),建议你所想改的,如:utf8或gbk

打开my.ini 找到这两处地方修改:(如果想显示中文建议修改成gbk, 我之前尝试修改成utf8,结果在mysql中文还是显示乱码,改成gbk之后显示才正常)

[mysql]

default-character-set=gbk

...

# The default character set that will be used when a new schema or table is

# created and no character set is defined

default-character-set=gbk

修改完之后,重启mysql 服务,然后删除之前创建的库,重新创建新的库和表(创建库时指定编码:create database dbname default charset GBK (如果在my.ini文件中已经设置过新的编码格式,“default charset GBK” 可以不用写),创建好之后可以查看所建库的编码格式 mysql>:show create database dbname ;和查看表的编码格式:mysql>:show create table tablename

如果不想重建库不想重建表,可以对已经创建好的库和表的编码格式进行修改,

修改方式:

2.修改库的编码: ALTER DATABASE dbname DEFAULT CHARACTER SET gbk
3.修改表的编码:ALTER TABLE `testtable` DEFAULT CHARACTER SET gbk
4.修改字段的编码: 
ALTER TABLE `tablename` CHANGE  `name` VARCHAR( 45 ) CHARACTER SET gbk
是将MYSQL数据库tablename表中 "name"的字段编码改能够该为gbk
另外要保证在页面中传入的数据编码格式与数据库中的编码格式保持一致。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值