我这里使用navicate连接的docker里面的mysql
表结构:
表的初始内容:
增加操作:
操作后表的内容:
可以发现这里中文的插入产生了报错。
出现的原因:默认的字符集编码出现了异常
docker端:
navicate:
虽然两者的部分不相同,但可以看到两个character_set_database都是latin1所以导致中文字符无法输入,至于为什么两个还有一些部分不相同这是因为navicate这个软件之前已经提前对一些部分的编码进行了改变。
解决方案:
linux的MySQL的conf文件夹中的my.conf文件,如果没有就添加有就修改
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
加入或者修改到其中,然后重启以下MySQL。
注意:这种方法只能修改以后数据库的默认字符集,对于之前数据库的建议删除然后再重新导入或者也有其它的方法。
结果: