免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6077 | 回复: 8
打印 上一主题 下一主题

请问为什么命令行运行会有乱码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-31 14:03 |只看该作者 |倒序浏览
我数据库、表、字段都设为了utf8格式,我用navicate for mysql ,连接属性设为utf8,进行查询,可以正常显示。但是同样的查询,使用命令行,中文变为乱码,

如下图:

mysql> show variables like "character_set_%";
+--------------------------+---------------------------------------+
| Variable_name            | Value                                 |
+--------------------------+---------------------------------------+
| character_set_client     | utf8                                  |
| character_set_connection | utf8                                  |
| character_set_database   | utf8                                  |
| character_set_filesystem | binary                                |
| character_set_results    | utf8                                  |
| character_set_server     | utf8                                  |
| character_set_system     | utf8                                  |
| character_sets_dir       | D:\mysql-5.6.14-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)

mysql> select * from qanda where answer='bottle';
+---------------------------------------+--------+---------+--------+------+
| question                              | answer | answer2 | second | type |
+---------------------------------------+--------+---------+--------+------+
| 盲赂鈧?р€溌睹β奥´ a ____  of water | bottle |         |     20 | M3U3 |
+---------------------------------------+--------+---------+--------+------+
1 row in set (0.00 sec)

mysql>


请问这是什么原因呢?

论坛徽章:
9
巳蛇
日期:2013-12-05 15:03:33戌狗
日期:2013-12-10 20:52:35白羊座
日期:2014-12-30 14:11:58处女座
日期:2015-01-15 14:33:442015年亚洲杯纪念徽章
日期:2015-01-28 13:37:36羊年新春福章
日期:2015-01-30 15:03:352015年亚洲杯之约旦
日期:2015-02-09 17:07:552015年亚洲杯之韩国
日期:2015-03-26 15:04:132015年亚洲杯之卡塔尔
日期:2015-04-04 16:35:54
2 [报告]
发表于 2013-12-31 20:20 |只看该作者
其它工具连接怎样?

论坛徽章:
0
3 [报告]
发表于 2014-01-01 20:45 |只看该作者
在命令行查询之前执行一下:set names utf8; 再看看

论坛徽章:
0
4 [报告]
发表于 2014-01-01 21:56 |只看该作者
本帖最后由 syre 于 2014-01-01 21:57 编辑

可能你那表里的数据的编码是错误的
比如,字段的设置是latin1,但是实际存入的是utf8之类

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
5 [报告]
发表于 2014-01-02 09:10 |只看该作者
show create table xxx 看看表是不是用的 utf8 编码?不是的话,则把客户端的编码设置成表的编码就可以了。

论坛徽章:
0
6 [报告]
发表于 2014-01-02 20:16 |只看该作者
是不是你的命令行工具本身有问题呢?

论坛徽章:
0
7 [报告]
发表于 2014-02-19 19:16 |只看该作者
跟数据库字符集,表的字符集,已经使用的MySQL工具的字符集设置相关

论坛徽章:
0
8 [报告]
发表于 2014-02-19 22:32 |只看该作者
export lang=en_US.utf8
在进入mysql如果还乱码,就是使用ssh工具或是console的字符集没设成utf8.

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
9 [报告]
发表于 2014-02-20 09:38 |只看该作者
乱码这个东西可能性很多,根据你现在的情况,应该不是mysql的问题.你可以尝试在终端上输入中文,看看能否输入成功,如果不可以,应该是终端工具和系统的字符集设置不匹配,或者系统不支持中文。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP