下面是详细的攻略:
DOS命令行窗口mysql中文显示乱码问题解决方法
如果你在使用DOS命令行窗口连接MySQL数据库时,发现无法正常显示中文,而是出现了乱码,那么本文将会介绍如何解决这个问题。
以下是解决方法:
1. 设置默认字符集
打开DOS命令行窗口,输入以下命令:
mysql.exe --default-character-set=utf8
以上命令将MySQL客户端默认字符集设置为UTF-8。如果你使用其他字符集,将"utf8"替换为相应的字符集名称即可。
2. 修改MySQL配置文件
修改MySQL配置文件my.ini(或my.cnf),将默认字符集设置为UTF-8。在[mysqld]节点下添加以下语句:
character-set-server=utf8
保存后重启MySQL服务器即可。
以下是示例说明:
示例1:使用命令行窗口连接MySQL,执行查询语句时出现乱码。
C:\>mysql.exe -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.44-log MySQL Community Server (GPL)
mysql> use test;
Database changed
mysql> select * from student;
+----+----------+
| id | name |
+----+----------+
| 1 | 张三 |
| 2 | 李四 |
+----+----------+
2 rows in set (0.00 sec)
mysql> exit
Bye
C:\>
可以看到,查询结果中的中文显示为乱码。执行以下命令可以解决该问题:
C:\>mysql.exe --default-character-set=utf8 -u root -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.44-log MySQL Community Server (GPL)
mysql> use test;
Database changed
mysql> select * from student;
+----+----------+
| id | name |
+----+----------+
| 1 | 张三 |
| 2 | 李四 |
+----+----------+
2 rows in set (0.00 sec)
mysql> exit
Bye
C:\>
可以看到,查询结果中的中文正确显示了。
示例2:在MySQL客户端中执行脚本,出现错误提示和乱码情况。
脚本内容如下:
use test;
insert into student (id, name) values (1, '张三');
insert into student (id, name) values (2, '李四');
执行以下命令可以解决该问题:
C:\>mysql.exe --default-character-set=utf8 -u root -p < script.sql
Enter password: ********
ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '张三')' at line 1
可以看到,出现了错误提示和乱码情况。执行以下命令可以解决该问题:
C:\>type script.sql
use test;
insert into student (id, name) values (1, '张三');
insert into student (id, name) values (2, '李四');
C:\>chcp 65001
Active code page: 65001
C:\>mysql.exe -u root -p < script.sql
Enter password: ********
C:\>
可以看到,脚本执行成功,中文也正确显示了。
以上就是解决DOS命令行窗口mysql中文显示乱码问题的方法和示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:DOS命令行窗口mysql中文显示乱码问题解决方法 - Python技术站