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 .
本文作者:圣远
本文为云栖社区原创内容,未经允许不得转载。
最新文章
- 接口返回值中数组中包含多个json对象形式
- D3树状图给指定特性的边特别显示颜色
- 从up6-down2升级到down3
- java 中小数点的处理
- js转换 /Date(1464671903000)/ 格式的日期的方法
- Highcharts可拖动式图表
- μC/OS学习资料(附Ebook)
- Tair总述
- springmvc实现视频上传+进度条
- jQuery通过ajax请求php遍历json数组到table中的代码
- 补充资料——自己实现极大似然估计(最大似然估计)MLE
- java -version显示版本和JAvA_HOME配置不一样
- BZOJ.4553.[HEOI2016&;TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
- Apache Spark 2.3.0 正式发布
- 《剑指offer》第三十三题(二叉搜索树的后序遍历序列)
- MongoDB注册Windows服务启动
- HDU 2089 不要62(数位DP&;#183;记忆化搜索)
- CAD常见问题
- 新版SourceTree免帐号登录安装
- ios 的ASIHTTPRequest学习
热门文章
- HDU 5266 pog loves szh III 线段树,lca
- global.fun.php
- PHP--http_build_query--把数组化成&;key=value方式
- vim Tab的设置问题
- CSP-S模拟 - 20190916
- Excel 表格中根据某一列的值从另一个xls文件的对应sheet中查找包含其中一列的内容(有点拗口)
- Linux下安装jboss并设置自启动服务
- linux学习 网络系统&;文件查找
- 【CodeVS】1083 Cantor表
- 2019阿里云开年Hi购季云通信分会场全攻略!