代码改变世界

Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码

  猎手家园  阅读(5391)  评论(0编辑  收藏  举报

由于MySQL编码原因会导致数据库出现乱码。

解决办法:

修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。

具体操作:

1、进入MySQL控制台

>mysql -uroot -p     #输入密码进入
>status;             #查看当前MySQL运行状态,如下图所示:

 

2、修改mysql配置文件

复制代码
[root@Hadoop-NN-01 ~]# vi /etc/my.cnf

#在[client]段增加下面代码
default-character-set=utf8

#在[mysql]段增加下面的代码
default-character-set=utf8

#在[mysqld]段增加下面的代码 
character-set-server=utf8
复制代码

 

3、重启MySQL服务

[root@Hadoop-NN-01 ~]# service mysqld restart

#再次进入MySQL控制台查看,如下图所示:
>status;

 

>show variables like 'character_set_%';            #查看MySQL字符集

 

MySQL数据库字符集编码修改完成!

 

参数说明:

character_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。

character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示