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 CHARACTER SET
;
當然如果database建立的時候忘了設定,在建立表的時候任然可以設定character來補救。
CREATE TABLE (.......) CHARACTER SET
;
方法二:如果你很不辛的在建立database和table的時候都忘了設定character,那就可以使用方法二
alter table convert to charset gbk;
或者
alter table convert to charsetutf8;
---------------------
作者:DSpank
來源:CSDN
原文:https://blog.csdn.net/woainishmeng/article/details/67638617
版權聲明:本文為部落客原創文章,轉載請附上博文連結!