下面是详细的“Mac Mysql数据库中文乱码问题解决”的攻略:
1. 问题描述
当我们在Mac上使用Mysql数据库时经常会遇到输入中文后乱码的情况,这给我们的工作和学习带来了一定的麻烦。下面是解决这个问题的方法。
2. 解决方法
在Mac上操作Mysql数据库乱码的解决方法有很多,这里介绍两种:
方法一:修改数据库字符集
在数据库连接中加入字符集,则在数据库中插入的数据就会按照该字符集进行存储,在连接数据库之前需要设置一下字符集。下面是设置字符集的方法:
mysql -uroot -p -h127.0.0.1 --default-character-set=utf8 dbname
其中,--default-character-set
参数设置的就是字符集,这里设置为utf8
。
方法二:修改Mysql数据库的全局字符集
若是数据库连接加上字符集的方法无效,还可通过修改mysql数据库的全局字符集进行解决。具体操作如下:
- 查看Mysql的编码:
在Mysql命令行工具中运行以下命令获取当前Mysql编码:
SHOW VARIABLES LIKE 'character_set%';
- 修改Mysql的全局字符集:
在Mysql命令行工具中运行以下命令将全局字符集修改为utf8:
SET GLOBAL character_set_client = utf8mb4;
SET GLOBAL character_set_connection = utf8mb4;
SET GLOBAL character_set_database = utf8mb4;
SET GLOBAL character_set_results = utf8mb4;
SET GLOBAL character_set_server = utf8mb4;
SET GLOBAL collation_server = utf8mb4_unicode_ci;
3. 示例说明
示例1:
假设我们有一个数据库test_db
,表结构如下:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) CHARACTER SET utf8mb4 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
你会发现我们在表中插入数据时可以正常显示中文了。
INSERT INTO `users` (`name`) VALUES ('测试中文');
示例2:
查询数据库中的数据时,我们也需要按照正确的编码进行处理。
SELECT * FROM `users`;
输出结果如下:
+----+-----------+
| id | name |
+----+-----------+
| 1 | 测试中文 |
+----+-----------+
1 row in set (0.00 sec)
以上就是Mac Mysql数据库中文乱码问题的解决方法,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mac Mysql数据库中文乱码问题解决 - Python技术站