技术文摘
Ubuntu 下解决 MySQL 中文乱码问题的方法
在 Ubuntu 系统下使用 MySQL 时,中文乱码问题常常给开发者带来困扰。不过,只要按照正确的步骤操作,这个问题就能轻松解决。
我们需要了解 MySQL 字符集的相关知识。MySQL 有多种字符集,常见的如 UTF-8、GBK 等。UTF-8 是一种通用的字符集,能支持世界上大部分语言,包括中文。而 GBK 则是专门针对中文设计的字符集。
要解决中文乱码问题,第一步是检查 MySQL 的配置文件。在 Ubuntu 中,MySQL 的配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf。使用文本编辑器打开该文件,找到[mysqld]部分。在这部分中,添加或修改以下几行配置:
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
utf8mb4是 UTF-8 字符集的超集,能更好地支持一些特殊字符。utf8mb4_unicode_ci是对应的排序规则。
保存并关闭配置文件后,需要重启 MySQL 服务,让配置生效。在终端中输入命令:sudo systemctl restart mysql。
接下来,还需要确保数据库和表的字符集设置正确。登录 MySQL 后,使用以下命令查看当前数据库的字符集:
SHOW VARIABLES LIKE 'character_set_database';
如果字符集不是utf8mb4,可以使用以下命令修改数据库的字符集:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
对于已有的表,同样需要检查和修改字符集。使用以下命令查看表的字符集:
SHOW CREATE TABLE your_table_name;
若表的字符集不正确,使用以下命令修改:
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
在应用程序连接 MySQL 时,也要确保设置了正确的字符集。例如,在使用 Python 的pymysql库时,连接数据库的代码中要添加charset='utf8mb4'参数。
通过以上从配置文件、数据库和表,再到应用程序连接的全方位设置,就能有效解决 Ubuntu 下 MySQL 的中文乱码问题,让开发工作更加顺畅。
- 前端智能化的可微编程实践
- 六个 Vue3 开发必用的 VSCode 插件分享
- 在 Kubernetes 上借助 Crossplane 和 VCluster 快速构建新集群
- 实战:Python 自动化监控文件夹实现服务部署
- Python 单例模式的五种实现方式
- 面试前必知的 17 种 JavaScript 数组方法
- Python 中摒弃循环,这些方法更为出色!
- Fury:基于 JIT 动态编译的高性能多语言原生序列化框架
- CSS 新特性助力实现虚拟列表,JS 退居二线
- Python 轻量级 Web 框架之 Bottle 库
- TIOBE 8 月编程语言排行:无语言可与之抗衡
- 关于 Java 代码的几个友好习惯建议
- 利用位字段与掩码创作国际象棋游戏
- 惊人!竟可修改已运行的 Docker 容器端口映射
- 手把手教你编写专属自己的 Starter