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

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;mysql

或者sql

alter table <tbname> convert to charset utf8;数据库


---------------------
做者:DSpank
来源:CSDN
原文:https://blog.csdn.net/woainishmeng/article/details/67638617
版权声明:本文为博主原创文章,转载请附上博文连接!编码

相关文章
相关标签/搜索