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

MySQL的默認編碼是Latin1,不支持中文,要支持中午須要把數據庫的默認編碼修改成gbk或者utf8。
在安裝後MySQL以後,它的配置文件不是很給力,不知道大家的是否是,反正個人是!mysql

開始插入中文字符的時候出現以下錯誤:
ERROR 1366 (HY000): Incorrect string value: '\xBB\xA7' for column 'Tname';
也就是不支持插入中文字符,因而經過網上的學習,在它的配置文件my-default.ini文件中添加了一些東西:
[mysqld]
character-set-server=utf8
datadir = "F:/MySql數據文件/"
#表名不區分大小寫(此與編碼無關)sql

[mysql]
default-character-set = utf8數據庫

[mysql.server]標籤下加上一行
default-character-set = utf8學習

[mysqld_safe]
default-character-set = utf8編碼

[client]
default-character-set = utf8spa

 

經過 show varialbes like 'char%' 查看有關字符集的變量以下:server

另外能夠過  set names 'charsetname'; 設置字符集blog

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

這樣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;io

相關文章
相關標籤/搜索