mysql命令行读取数据库中文出现乱码问题

遇到mysql中文乱码问题

 

数据库

背景:数据库版本6.0,Navicat版本11,系统版本win10

管理工具用的是Navicat 11,连接数据库是报错Unknown character set: 'utf8mb4',起初并没有太在意这个问题,因为第一次用Navicat时并没有出现这个问题,右键“编辑连接”在“高级”里的编码选择utf8后问题消失,这也导致后来无论怎么更改字符编码都没有效果,还是会出现中文乱码

mysql命令行读取数据库中文出现乱码问题_第1张图片

mysql命令行读取数据库中文出现乱码问题_第2张图片

原来安装mysql的时候默认字符编码是utf8,之后建立数据库,建表,字段都是用的utf8编码,在表里面插入中文后,在mysql命令行读取数据库数据的时候,中文出现乱码,百度后得知mysql命令行智能显示gbk编码的中文

mysql命令行读取数据库中文出现乱码问题_第3张图片

于是尝试运行以下命令,之后再次查询,依然出现中文乱码

在尝试了更改my.ini文件等各种方法后,依然没有解决乱码的问题,

 mysql命令行读取数据库中文出现乱码问题_第4张图片

最后才考虑到可能是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

 

 

 

 

 

 

 

你可能感兴趣的:(mysql命令行读取数据库中文出现乱码问题)