Mysql无法插入中文的问题如何解决?
程序员文章站
2022-04-12 20:17:57
Mysql无法插入中文的问题如何解决?
无法插入中文的根本原因是因为字符编码不一致。
在创建数据库的时候可以指定一个字符编码,如果想要支持中文,可以使用utf-8,或者gb23...
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
现在试试?是不是能完美的插入中文了呢
推荐阅读