MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践
MaxCompute客户端工具是阿里云大数据计算服务MaxCompue产品官方客户端工具,通过客户端工具可以连接MaxCompute项目,完成包括数据管理、数据上下传、作业执行、用户及授权管理等各项操作。
但有用户会碰到在Windows下的命令行中执行odpscmd后,查询包含中文字符的表数据时出现乱码的情况,本文将给出问题分析和解决方法,帮助大家快速处理这样的问题。
问题描述:
Windows用户下载配置配置客户端(odpscmd)后,在查询包含中文字符的表数据时,会出现乱码情况,如下图所示:
问题分析:
MaxCompute对中文默认使用utf-8字符集的编码方式,客户端乱码的原因是因为用户访问的客户端侧(也就是windows下的cmd命令行)没有使用utf-8对查询反馈的字符进行解析展示,所以需要查看cmd的当前显示字符设置是否为utf-8,如果不是需要修改为utf-8后进行查询,即可正确展示。
操作方法:
1.验证Windows的cmd的当前字符设置。在cmd中执行chcp命令,并回车:
如上图,查询结果为936,代表当前代码页为简体中文GBK
- 修改为utf-8。同样在cmd中执行命令chcp 65001,并回车:

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

想永久的更改cmd编码值需要修改注册表,在运行中通过regedit进入注册表,找到HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe,新建一个 DWORD(32位值),命名为CodePage,值设为65001 .
本文作者:圣远
本文为云栖社区原创内容,未经允许不得转载。
MaxCompute客户端(odpscmd)在windows命令行下查询中文乱码问题处理实践的更多相关文章
- Ubuntu Server 命令行下显示中文乱码(菱形)解决办法
如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手),这样在完成安装后,系统默认的语言将会是中文zh_CN.UTF- 8.但问题是我们安装的是服务器,只需 ...
- windows命令行下简单使用javac、java、javap详细演示
最近重新复习了一下java基础,在使用javap的过程中遇到了一些问题,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象. 如题,首先我们在桌面,开始->运行->键入 ...
- windows下安装python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录
1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 ...
- windows 命令行下 简单好用的查看端口占用情况的方法
在windows命令行窗口下执行: C:\>netstat -aon|findstr "4444" TCP 127.0.0.1:4444 0.0.0.0:0 LISTENIN ...
- windows命令行下redis读取中文字符乱码
我在eclipse上对redis进行了一个操作,添加了一个中文字符串进去,可以看到是添加成功了的 但是在命令行中读取的时候却成了乱码,如下图所示 这是因为windows命令行的编码是gbk 可以通过如 ...
- windows命令行下用netsh实现端口转发(端口映射)
微软Windows的netsh是一个命令行脚本实用工具.使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置.不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行. ...
- Windows命令行下pip安装python whl包
因为做网页爬虫,需要用到一个爬新闻的BeautifulSoup 的包,然后再关网上下的是whl包,第一次装,虽然花了点时间,最后还是装上去了,记录一下,方便下次. 先发一下官方文档地址.http:// ...
- 借鉴+总结!! mysql 客户端命令行下 查询数据并生成文件导出
方式1:在mysql命令行环境下执行: sql语句+INTO OUTFILE +文件路径/文件名 +编码方式(可选) 例如: select * from user INTO OUTFILE '/ ...
- windows命令行下批量拷贝同一后缀的文件到另外一个目录
一个目录下有很多文件夹,想拷贝每个文件夹下面的wmv文件到另外一个目录,如果鼠标打开一个文件,拷贝一个,再打开其他的,逐一操作,很麻烦的,百度了一下,xcopy命令就可以实现:例如将C盘x1目录下所有 ...
随机推荐
- 入门servlet:request获取请求行数据
/** * 演示Request对象获取请求行数据 */ @WebServlet("/test") public class RequestDemo1 extends HttpSer ...
- idea小操作
1.IDEA 实用功能Auto Import:自动优化导包(自动删除.导入包) 2.设置System.out.println();等快捷键 3.将idea的背景修改为图片 4.Linux ifconf ...
- SSM-5zookeeper在LINUX上自启
把zookeeper做成服务 1.进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本 [root@zookeeper ~]# cd /etc/rc.d/init.d/ [ro ...
- FileReader详解
一.兼容性 从上图中可以看出IE7.8.9都不支持FileReader对象 二.作用 使用支持FileReader浏览器的用户可以通过一个file input选择一个图像文件将图片显示在页面中,而不用 ...
- JavaScript数据存储和深浅拷贝实际运用
JavaScript分两种数据类型.1.简单数据类型有:number, string, boolean, undefined和null当声明一个简单数据类型的变量时,在内存中会把数据存在栈里.2.复杂 ...
- $\mathcal{Miemeng}$的病态码风计划
晚上困的要命,先写个码风计划提提神. 计划目标 抵制无理压行. 抵制不可读代码. 倡导代码艺术化,分层化 具体的一些细节和展示 1>整体 首先要把预读部分(我这么叫的),命名域使用,全局变量定义 ...
- JDBC 操作数据库实例
JDBC是什么 JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是 ...
- Win7下设置WiFi热点
Win7下设置WiFi热点 今天研究了下Win7设置WIFI热点,Connectify神马的都是浮云~亲測可用,现拿出来分享下~ 1.点击"開始",再点击"执行" ...
- quartz 通用的多线程定时任务
TaskManager package mytest.task; import java.text.ParseException; import org.quartz.CronTrigger; imp ...
- day36 05-Hibernate检索方式:离线条件查询
图二 离线条件查询 Struts 2是web层的框架.session得在dao层才有.有的时候这些数据是没在你的对象里面的.像是否上传简历.这个字段不在我的数据库里面.例如是否上传简历这个条件不在我们 ...