遇到mysql中文乱码问题
数据库
背景:数据库版本6.0,Navicat版本11,系统版本win10
管理工具用的是Navicat 11,连接数据库是报错Unknown character set: 'utf8mb4',起初并没有太在意这个问题,因为第一次用Navicat时并没有出现这个问题,右键“编辑连接”在“高级”里的编码选择utf8后问题消失,这也导致后来无论怎么更改字符编码都没有效果,还是会出现中文乱码
原来安装mysql的时候默认字符编码是utf8,之后建立数据库,建表,字段都是用的utf8编码,在表里面插入中文后,在mysql命令行读取数据库数据的时候,中文出现乱码,百度后得知mysql命令行智能显示gbk编码的中文
于是尝试运行以下命令,之后再次查询,依然出现中文乱码
在尝试了更改my.ini文件等各种方法后,依然没有解决乱码的问题,
最后才考虑到可能是Navicat版本和mysql版本不一致,于是下载Navicat12,安装完后连接数据库(此时就没有报Unknown character set: 'utf8mb4的错误)插入中文数据,在命令行重新查询,成功显示中文(查询之前记住要把character_set_results的编码改为gbk)。
参考文章:
https://blog.csdn.net/fenfei12138/article/details/49661879
https://blog.csdn.net/zi1shi/article/details/82345457