您的位置:首页 > 运维架构 > Linux

Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法

2017-03-28 16:50 543 查看
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现。

这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在我的环境中配置文件是不允许修改,或者说和其他版本的不同。

大家都知道中文常用的编码方式是gbk或者utf-8。我建议是使用utf-8这种编码方式,因为大势所趋。

我们有时候设置了mysql的配置文件,而创建出来的 database ,table 的character 任然为默认的 latin1。

我们可以通过 show create database/table database_name/table_name;来查看所创的库和表的character。会出现ERROR 1366错误的,编码上就可能存在问题。如果编码问题,那一下内容就不用看了,我的这个笔记帮不了你。

解决方法有好几个,我也是百度了很久,把两个成功的方法罗列在下面,方便自己方便他人。

方法一:在创建数据的时候设置好character ,这样再创建 table的时候会和database的编码方式相同。

CREATE DATABASE <DATABASE_NAME> CHARACTER SET <CODE>;

当然如果database创建的时候忘了设置,在创建表的时候任然可以设置character来补救。

CREATE TABLE <TABLE_NAME> (.......) CHARACTER SET <CODE>;

方法二:如果你很不辛的在创建database和table的时候都忘了设置character,那就可以使用方法二

alter table <tbname> convert to charset gbk或utf8;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐