天天看點

MySQL不能插入中文字元及中文字元亂碼問題

MySQL的預設編碼是Latin1,不支援中文,要支援中午需要把資料庫的預設編碼修改為gbk或者utf8。

在安裝後MySQL之後,它的配置檔案不是很給力,不知道你們的是不是,反正我的是!

開始插入中文字元的時候出現如下錯誤:

ERROR 1366 (HY000): Incorrect string value: '\xBB\xA7' for column 'Tname';

也就是不支援插入中文字元,于是通過網上的學習,在它的配置檔案my-default.ini檔案中添加了一些東西:

[mysqld]

character-set-server=utf8

datadir = "F:/MySql資料檔案/"

#表名不區分大小寫(此與編碼無關)

[mysql]

default-character-set = utf8

[mysql.server]标簽下加上一行

[mysqld_safe]

[client]

通過 show varialbes like 'char%' 檢視有關字元集的變量如下:

MySQL不能插入中文字元及中文字元亂碼問題

另外可以過  set names 'charsetname'; 設定字元集

    比如, set names 'gbk';  這條指令會同時修改 character_set_client,character_set_connection,character_set_results, 很好用!

這樣MySQL在建立新表格的時候預設的就是utf8的編碼方式了!

但是注意的是,目前資料庫中已存在的資料仍保留現有的編碼方式,

如果需要更改編碼格式:

利用下面的指令可以嘗試一下:

檢視 資料庫表中字段的字元集設定 。show create table TableName 或 show full columns from tableName

修改資料庫成utf8的. alter database name character set utf8;

修改表預設用utf8的 alter table name character set utf8;

修改字段用utf8的 alter table name modify type_name(變量名字) varchar(任意大小) CHARACTER SET utf8;

本文轉自 小眼兒 部落格園部落格,原文連結:http://www.cnblogs.com/hujunzheng/p/4065396.html,如需轉載請自行聯系原作者