程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 今天遇到Mysql插入數據裡有中文字符出現Incorrect string value的錯誤

今天遇到Mysql插入數據裡有中文字符出現Incorrect string value的錯誤

編輯:MySQL綜合教程

今天遇到Mysql插入數據裡有中文字符出現Incorrect string value的錯誤   背景:CMD裡直接敲代碼插入數據   提示的部分截取為:ERROR 1366 (HY000): Incorrect string value   百度了一下,說是編碼問題,show variables like 'character%' 查看後,發現所有編碼都為UTF8,並沒有錯   繼續查原因,網上有人說是mysql的編碼集的問題以下為原文:   "原來問題出在mysql上,mysql如果設置編碼集為utf8那麼它最多只能支持到3個字節的UTF-8編碼,而4個字節的UTF-8字符還是存在的,這樣一來如果你建表的時候用的utf8字符集出異常就理所當然了。   解決方法很簡單,修改字段或者表的字符集為utf8mb4。比較蛋疼的是,字符集utf8mb4在mysql 5.5.3之後才支持。。。"   看他說的這些結果要升級才能修改,果斷放棄,並且也感覺應該不是我遇到的問題。後來想了想,是不是在CMD裡輸入文字的編碼的問題呢,試著先設置客戶端命令的編碼,再插入果然正確!然後百度搜索客戶端編碼相關的問題也發現有和我出現過同樣問題的。   解決方法 :   set names gbk    //設置客戶端的編碼格式,也就是你敲入的是什麼編碼的,客戶端會自動把你的命令轉成UTF8,也就是數據庫編碼也還是UTF8    或者在安裝目錄下找到 my.ini   把default-character-set=utf8 改成default-character-set=gbk;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved