mysql5.5.53 varchar字段不能插入汉字

创建了一个//blog/分类表,如下:
CREATE TABLE b_category (
id int(11) NOT NULL AUTO_INCREMENT,
c_name varchar(50) NOT NULL,
c_sort int(10) unsigned DEFAULT ‘0’ COMMENT ‘ÅÅÐò’,
c_parent_id int(10) unsigned DEFAULT ‘0’,
PRIMARY KEY (id),
UNIQUE KEY c_name (c_name,c_parent_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
默认utf8编码,直接使用insert语句总是无法插入汉字:
insert into b_category values(1,‘IT技术’,0,0);
±—±-------±-------±------------+
| id | c_name | c_sort | c_parent_id |
±—±-------±-------±------------+
| 1 | IT | 0 | 0 |
±—±-------±-------±------------+
汉字无法插入。还有
insert into b_category values (2,‘电子商务’,0,0),(3,‘影视’,0,0);竟然是:
2 | | 0 | 0 |
3 | 影 | 0 | 0 |
解决方法:
方法一:在插入中文之前 先输命令set names gbk 告诉客户端你在这里敲的命令是GBK编码的 客户端会把你接下来敲的命令转成UTF-8 你数据库内部的编码还是UTF-8。
方法二:修改你安装目录下面的my.ini这个文件 编辑这个文件 找到
[mysql]
default-character-set=utf8
把default-character-set=utf8改成default-character-set=GBK
这里的意思是告诉MySQL你在客户端敲的命令都是GBK编码
注:不用改[mysqld]下面的default-character-set 这里的default-character-set指的是MySQL底层存储的字符集编码 可以是utf8 utf8是支持各国文字的
改过后重启服务。

根据方法一:
set names gbk;//不然中文不能插入
insert into b_category values (2,‘电子商务’,0,0),(3,‘影视’,0,0),(4,‘PHP’,0,1);
insert into b_category values (5,‘面向对象’,0,4),(6,‘MVC思想’,0,4);

总结:
utf8是支持各国文字的,但对中文的支持确实 不怎么地。
//插入数据前一定要设置
set names gbk;

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值