sql
SET character_set_client = utf8mb4;
SET character_set_connection = utf8mb4;
SET character_set_results = utf8mb4;
你也可以单独设置某个变量,例如:
sql
SET character_set_results = 'gbk'; 设置结果输出为 GBK(适用于中文 Windows 环境)
四、解决乱码问题的典型做法
如果你在命令行中看到中文乱码,可能是客户端和服务器字符集不匹配。建议统一使用 `utf8mb4`:
1、启动时指定字符集:
bash
mysql -u root -p default-character-set=utf8mb4
2、连接后执行:
sql
SET NAMES utf8mb4;
3、确保数据库/表也使用 utf8mb4:
sql
ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
五、配置文件中设置(持久化)
你也可以在 MySQL 配置文件(如 `my.cnf` 或 `my.ini`)中设置默认字符集,避免每次手动设置。
在 `[client]` 和 `[mysql]` 段添加:
ini
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
在 `[mysqld]` 段设置服务端默认:
ini
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci