Mysql 无法插入中文解决办法
无法插入中文的根本原因是因为字符编码不一致。
在创建数据库的时候可以指定一个字符编码,如果想要支持中文,可以使用utf-8,或者gb2312,值得一提的是gb2312编码中,一个中文占2个字节,而utf-8中一个中文占3个字节。
在mysql中,如果你不知道你当前的字符编码,可以通过查看variables,来知晓你所使用的字符编码。
show variables like 'char%'
+--------------------------+-----------------------------------------------------------+
| Variable_name | Value |
+--------------------------+-----------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.7.21-macos10.13-x86_64/share/charsets/ |
+--------------------------+-----------------------------------------------------------+
在解决无法向表中插入中文之前,我们先设置一下表的字符编码:
alter table (your table name) default character set utf8
在设置完毕后,你发现还是不能插入中文。
我们在接着设置需要插入的字段的字符编码,假如我现在要往S里插入一个学生的信息,里面包括了Sname字段,表示学生的名字,需要用中文表示,于是我通过设置Sname的字符编码来解决这个问题
alter table (your table name) Sname varchar(5) character set utf8
现在试试?是不是能完美的插入中文了呢