MySQL不能插入中文字符及中文字符乱码问题
MySQL的默認編碼是Latin1,不支持中文,要支持中午需要把數(shù)據(jù)庫的默認編碼修改為gbk或者utf8。
在安裝后MySQL之后,它的配置文件不是很給力,不知道你們的是不是,反正我的是!
開始插入中文字符的時候出現(xiàn)如下錯誤:
ERROR 1366 (HY000): Incorrect string value: '\xBB\xA7' for column 'Tname';
也就是不支持插入中文字符,于是通過網(wǎng)上的學習,在它的配置文件my-default.ini文件中添加了一些東西:
[mysqld]
character-set-server=utf8
datadir = "F:/MySql數(shù)據(jù)文件/"
#表名不區(qū)分大小寫(此與編碼無關)
[mysql]
default-character-set = utf8
[mysql.server]標簽下加上一行
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
?
通過 show varialbes like 'char%' 查看有關字符集的變量如下:
另外可以過 ?set?names 'charsetname'; 設置字符集
? ??比如,?set?names 'gbk';??這條命令會同時修改?character_set_client,character_set_connection,character_set_results, 很好用!
這樣MySQL在創(chuàng)建新表格的時候默認的就是utf8的編碼方式了!
但是注意的是,當前數(shù)據(jù)庫中已存在的數(shù)據(jù)仍保留現(xiàn)有的編碼方式,
如果需要更改編碼格式:
利用下面的指令可以嘗試一下:
查看?數(shù)據(jù)庫表中字段的字符集設置?。show create table TableName?或?show full columns from tableName
修改數(shù)據(jù)庫成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,如需轉載請自行聯(lián)系原作者
總結
以上是生活随笔為你收集整理的MySQL不能插入中文字符及中文字符乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 德国“不惜一切代价”对欧债意味着什么?
- 下一篇: 恒科跳涨5.4%!南向资金持续买入,前景