MySQL中的中文乱码问题(主要基于MySQL自带客户端的,比较完整)

本文详细探讨了MySQL中出现中文乱码的各种情况,包括服务器端和客户端的字符编码设置,以及如何解决在黑窗口中插入和显示中文字符时的乱码问题。通过调整配置和执行特定命令,可以有效避免和解决MySQL中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、中文乱问题

原因:

保存文件时的字符编码与查看该文件的字符编码不一致

 

例如: 1.txt  该文件在编辑时的字符编码为 utf-8

       当我们要使用一个软件查看该文件时, 要求该软件的字符编码也是utf-8

       否则,我们就会看到中文显示是乱码,而其他字符都可以正常展示

 

二、MySQL中的中文乱码问题

Mysql中的中文乱码问题

Mysql是一个应用程序,它分为客户端和服务器端。在mysql的安装目录中,my.ini文件是它们的相关配置

 

1、服务器端

服务器端的字符编码 我们使用的是 utf-8 (可以在安装目录中查看或修改,但是修改后需要重启服务才能生效)

 

这样就是一个全局的配置,我们在创建表时,可以省略 (default) charset=utf8(utf8mb4) 的配置

但是其他工具(客户端)可以导出一些建表语句,这些建表语句最后都会有字符编码等相关设置

 

 

2、客户端的字符编码

一般情况,只要我们进行了以上的设置,就不会有乱码问题。

这样的配置可以解决 当我们查询表的内容时,中文字符变成问号的情况

 

mysql.exe 这个程序是mysql自带的一个客户端程序。

但是由于我们直接打开以后,使用的是Windows的黑窗口(跟环境有关,有的系统无此问题)。

 

三、其他的中文乱码情况

中文乱码问题有二种情况

1、第一种,在黑窗口中执行insert语句插入中文字符时出现以下情况

类似这种情况,大家只需在黑窗口执行以下命令就可以解决无法插入中文的问题

set character_set_client=gbk;

这样的话,我们就可以向表中插入的中文字符了。

2、第二种情况,就是大家可以插入中文字符,但是查询表中数据时发现中文是乱码,类似以下情况

类似这种情况,是显示中文字符有问题。大家可以通过以下命令解决中文字符的显示问题

set character_set_results=gbk;

这样的话,中文字符就可以正常显示了。

 

 

此文希望可以帮助到大家。如有错误,请指教。                                                           

如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读。

                     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值