linux中mysql记录插入无法输入中文的问题
在Linux安装完mysql时,向数据库中插入记录,若记录包含中文,无法插入,大部分会有类似如下提示:因为数据库内的字符编码不包含中文的字符编码,我们可以使用show create table <表名> 命令来查询表的一些属性信息也可以使用show create database <数据库名>来查询数据库的一些信息如下所示:(插入中文字符有两种形式:1.我们可以修改数据库的字符编码,此后在该数据库下创建的表都与数据库的编码一致,之前创建的则需要逐步修改;2.修改指定表的字符编码,但此方法直适用于此表插入中文,其他表依然无法插入中文)这两种方法类似,演示一种即可。
可知当前表显示的字符编码形式为latin1,我们修改其字符编码为utf8(个别生僻字依然无法显示)或者为utf8mb4(基本可以显示所有的汉字,笔者推荐直接修改为该形式)
使用命令alter table <表名>(修改数据库则使用database university <数据库名>) default character set utf8mb4;编码已经改变为utf8mb4:
现在可以插入中文字符了
未提示错误!注意,若表有外键等约束,则需要删除外键约束后修改表的字符编码可使用命令:alter table <表名> convert to character set utf8mb4;