linuxmysql命令行中文乱码
linuxmysql命令行中文乱码详细介绍
在 Linux 下解决 MySQL 命令行中文乱码问题,可按以下步骤操作:
一、检查当前字符集设置
登录 MySQL 后,执行以下命令查看当前字符集:
sql
VARIABLES
预期输出:
确保 client、connection、database、server、system 等字段均为 utf8 或 utf8mb4(推荐 utf8mb4,支持更全面的 Unicode 字符)。
二、修改 MySQL 配置文件
1. 找到配置文件位置
bash
/etc/mysql/my.cnf
/etc/my.cnf
2. 添加或修改字符集配置
在 [client] 和 [mysqld] 部分添加以下内容:
ini
3. 重启 MySQL 服务
bash
systemctl restart mysql
三、设置终端字符编码
确保终端使用 UTF-8 编码:
bash
en_US.UTF-8
四、连接时指定字符集
在登录 MySQL 时强制指定字符集:
bash
mysql -u用户名 -p密码 --default-character-setutf8mb4
五、验证效果
- 创建测试数据库和表:sql
test_db utf8mb4 utf8mb4_unicode_citest_db
test_table id name
test_table name
test_table
- 若查询结果显示正常,则配置成功。
常见问题
- 仅客户端乱码:可能是终端编码未设置为 UTF-8,或未在连接时指定
--default-character-set。 - 数据库原有数据乱码:需通过
ALTER TABLE或ALTER DATABASE修正已有表 / 库的字符集。
通过以上步骤,可确保 MySQL 命令行的中文显示和存储正常。