【MySQL】解决navicat连接远程数据库时,界面显示表数据中文乱码的问题

先说答案

右键当前连接的Edit Connection,选择Advanced选项卡将Encoding选为Auto

问题描述

双击查看表数据时,中文显示为???,用命令查也是一样。

排错过程

远程服务器网站运行完全ok。

# 查询编码
show variables like 'char%'

服务器端查询,结果正常,均为utf8
客户端navicat查询,发现出现部分编码为latin1

此时可以确定问题出在navicat上。

通过设置有问题的值为uft8后,例:

set character_set_results=utf8

通过命令查询中文显示正常,但是界面显示还是有问题。


更改navicat中数据库的字符编码,无效。

连接的字符编码也是utf-8

偶然在一篇文章中看到,将连接编码格式改为Current Windows Codepage。发现自己的navicat里没有这个选项,于是就选择了Auto,发现成功了。

原因分析

重新show variables like 'char%'了一下,发现刚才出现的latin1的变量原来都是utf8mb4,在连接里没有这个选项,把值设定成utf-8后面的数据库就识别不了别的字符集了。

小结

这可能只是一个很偶现的问题,更多的中文乱码出现在没有统一字符编码的问题上。希望本文能多多少少帮到你。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值