程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> cmd控制台插入mysql數據庫中文信息時,插入失敗的解決辦法

cmd控制台插入mysql數據庫中文信息時,插入失敗的解決辦法

編輯:SyBase教程

cmd控制台插入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,如下圖所示:
vcq9ysehvr+qyryhvy0mZ3Q7ob7Uy9DQob+jrNTaob7Uy9DQob+0sL/a1tDK5MjrY21ko6y147v3u9iztbz8vLS/yaGjPC9wPgoKPHA+ICAgICAgICDTydPav9jWxsyous1teXNxbLXE1tDOxLHgwusmIzI2Njg0O8q9srvSu9bCo6zV4rW81sLW0M7Eyv2+3c7et6iy5cjrs8m5pqOsveK+9rDst6i+zcrHvavG5LHgwusmIzI2Njg0O8q9vfjQ0M2z0rujrNPJ09q/2NbGzKi1xLHgwusmIzI2Njg0O8q9srvE3L340NDJ6NbDo6zL+dLUztLDx9a709C4/LjEyv2+3b/itcSx4MLrJiMyNjY4NDvKvcHLo6y0y8qxztLDx72ryv2+3b/itcSx4MLrJiMyNjY4NDvKvdKyuMSzyWdia6GjPC9wPgoKPHA+vLSjrL2rbXkuaW5pzsS8/tbQtcR1dGYtOLjEs8lnYmsstPrC68jnz8KjujwvcD4KPHA+PHByZSBjbGFzcz0="brush:sql;">[mysql] default-character-set=gbk
此時重啟mysql服務器,然後再插入中文數據,運行結果如下所示:

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


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