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
版權聲明:本文爲博主原創文章,轉載請附上博文連接!編碼

相關文章
相關標籤/搜索