cmd控制台插入mysql資料庫中文資訊時,插入失敗的解決辦法,mysql中文資訊

來源:互聯網
上載者:User

cmd控制台插入mysql資料庫中文資訊時,插入失敗的解決辦法,mysql中文資訊

故障碼:

mysql> insert into t1(name,sex,age,address) values('張三','男',11,'沙河');ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1


該故障是由於中文編碼不一致導致的資料插入失敗所致。


        一般mysql資料庫在插入中文資訊時出錯的情況無外乎就是中文編碼不一致所致。而目前支援中文的編碼格式基本上有utf-8,gbk,gb2312三種,而資料庫,jsp頁面,控制台,Java代碼等等的地方要儘可能的編碼一致,否則可能會帶來不必要的麻煩。


通過尋找,我發現我的資料庫編碼格式是:utf-8,如下所示:

[mysql]default-character-set=utf8


該資訊在mysql的安裝目錄下的my.ini檔案中,以我的為例,就是:C:\Program Files\MySQL\MySQL Server 5.5下的my.ini。


而我們的控制台的編碼格式是:gbk,如所示:


控制台的開啟檔案是【開始】->【運行】,在【運行】視窗中輸入cmd,點擊斷行符號鍵即可。


        由於控制台和mysql的中文編碼格式不一致,這導致中文資料無法插入成功,解決辦法就是將其編碼格式進行統一,由於控制台的編碼格式不能進行設定,所以我們只有更改資料庫的編碼格式了,此時我們將資料庫的編碼格式也改成gbk。


即,將my.ini檔案中的utf-8改成gbk,代碼如下:

[mysql]default-character-set=gbk

此時重啟mysql伺服器,然後再插入中文資料,運行結果如下所示:

mysql> insert into t1(name,sex,age,address) values('張三','男',11,'沙河');Query OK, 1 row affected (0.05 sec)







相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.