MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践-阿里云开发者社区

开发者社区> 曲宁(圣远)> 正文

MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践

简介: MaxCompute客户端工具是阿里云大数据计算服务MaxCompue产品官方客户端工具,通过客户端工具可以连接MaxCompute项目,完成包括数据管理、数据上下传、作业执行、用户及授权管理等各项操作。
+关注继续查看

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相关的使用文章。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于mvn install命令执行报错问题
首先这个报错,通常要么是依赖问题,比如模块之间的依赖传递问题,通常报这种错误会在控制台提示。 或者是比如子工程分为test-entity、test-dao、test-service、test-web三者之间依赖传递,web依赖为service,service依赖于dao,dao依赖于entity。
3158 0
Windows环境下MySQL5.7中文显示乱码的三种解决方案
最近在将数据从Oracle迁移到MySQL的过程中,遇到一些问题,其中就包括中文字符显示乱码。 数据导入成功之后,中文字段内容无法正常显示。后来才发现客户端的字符集设置是对的,服务器端的字符集设置不支持中文字符。
1189 0
Weblogic命令行更换控制台密码
Weblogic命令行更换控制台密码   1、 在对应域的管理server下的security目录下找到boot.properties文件,其内容形式如:          password={AES}mslf4i31COfxJt45PZxZESyDDq6VSQ8KKpn+9+M...
716 0
oracle客户端和plsql developer安装部署
应用场景 当一个服务器上安装了oracle数据库,我们需要通过外在工具来连接该oracle数据库,来更加方便简洁的操作数据库,对数据库进行增删改查的操作,这篇文章介绍了用Navicat来连接oracle,但是比较正式的还是采用plsql来操作oracle,毕竟navicat连oracle速度比较慢!用plsql更加稳定些。
1453 0
命令行下开启与关闭windows防火墙关端口(转)
sc config sharedaccess start= auto //设置防火墙服务为自动 net start sharedaccess //开启防火墙服务   关闭端口 netsh firewall add portopening protocol = TCP port = 139 n...
780 0
Oracle 11g 客户端的安装和配置。
原文: Oracle 11g 客户端的安装和配置。 数据库和客户端在不同的机器之上。 在安装之前,在安装Oracle数据库的服务器上导航到下面的目录。 将listener.ora和tnsnames.ora中的host中的localhost都改为机器的IP地址,我的为192.168.1.102 而后开始安装Oracle客户端 选择定制,可以自己定义安装的组件。
841 0
Windows下CMD中文乱码问题解决方法,设置代码页65001后仍然乱码
原文地址: http://blog.csdn.net/u011250882/article/details/48136883 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。  如果想正确显示UTF-8
6625 0
【原】oracle11g 客户端安装检测失败问题
原因:不打开默认共享,oracle无法检查环境的可用性! cmd命令提示符下 键入 “net share c$=c:” 回车 C盘的默认共享,问题解决=============================================================== 如果现在只有...
694 0
+关注
曲宁(圣远)
大数据计算服务MaxCompute产品经理
14
文章
2
问答
来源圈子
更多
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载