mysql5.6 varchar(30)不能写中文

图片说明![图片说明](https://img-ask.csdn.net/upload/201512/06/1449332128_268677.png)图片说明

新人上路,求各位大哥告之

并不是不能输入中文,,而是乱码的问题,,设置下编码就行了

执行命令:
charset gbk;

set names gbk;然后再查看应该就能正常显示中文了

set names 'gbk' 要单引号吧,如果还是不行,新建表之后加ENGINE=InnoDB DEFAULT CHARSET=utf8;
比如CREATE TABLE test (
a double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

应该是cmd环境显示的问题,用个MySQL可视化客户端看下数据库的真实数据,应该是中文正确插入了的,只是你在cmd的dos环境下看不到而已。

dos是用GBK显示数据的,设置 set character_set_result=utf8,将结果用utf8显示就好了,不过这只对当前会话有效,把dos关了又会乱码,还得设置 set character_set_result=utf8

第一,用show create table检查表的默认编码格式。
第二,你的shell支不支持表编码格式。
你用的是ubuntu,理论上中文应该是都看得见,不论是gbk,big5还是utf8。建议中文网站,。php,mysql都用utf8编码。包括request一样用utf8

我也遇到过 使用set names gbk;就可以了