您当前的位置: 首页 >  阿里云云栖号 windows

MaxCompute客户端在windows命令行下查询中文乱码怎么办?

阿里云云栖号 发布时间:2020-03-10 14:17:15 ,浏览量:1

MaxCompute客户端工具是阿里云大数据计算服务MaxCompue产品官方客户端工具,通过客户端工具可以连接MaxCompute项目,完成包括数据管理、数据上下传、作业执行、用户及授权管理等各项操作。 但有用户会碰到在Windows下的命令行中执行odpscmd后,查询包含中文字符的表数据时出现乱码的情况,本文将给出问题分析和解决方法,帮助大家快速处理这样的问题。

问题描述: Windows用户下载配置配置客户端(odpscmd)后,在查询包含中文字符的表数据时,会出现乱码情况,如下图所示:image

问题分析: MaxCompute对中文默认使用utf-8字符集的编码方式,客户端乱码的原因是因为用户访问的客户端侧(也就是windows下的cmd命令行)没有使用utf-8对查询反馈的字符进行解析展示,所以需要查看cmd的当前显示字符设置是否为utf-8,如果不是需要修改为utf-8后进行查询,即可正确展示。

操作方法: 1.验证Windows的cmd的当前字符设置。在cmd中执行chcp命令,并回车:image 如上图,查询结果为936,代表当前代码页为简体中文GBK

  1. 修改为utf-8。同样在cmd中执行命令chcp 65001,并回车:image

3.通过cmd的属性,修改cmd的字体 chcp 65001后还不能直接在odpscmd中正常查看中文,还需要在cmd的属性窗口的“字体”栏中,选择"点阵字体"之外的字体,如"Lucida Console"或者"新宋体"等字体。image 修改完毕后,会发现在cmd属性的"选项"栏中的"当前代码页"的字符设置已经修改为65001(UTF-8)image

  1. 修改并确定之后,执行odpscmd并重新查询含有中文的表image

想永久的更改cmd编码值需要修改注册表,在运行中通过regedit进入注册表,找到HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe,新建一个 DWORD(32位值),命名为CodePage,值设为65001 .

更多信息,可以自行搜索chcp相关的使用文章。

本文为阿里云原创内容,未经允许不得转载。

云栖号 - 上云就看云栖号

关注
打赏
1688896170
查看更多评论

阿里云云栖号

暂无认证

  • 1浏览

    0关注

    4522博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0549s