MaxCompute客户端在windows命令行下查询中文乱码怎么办?
MaxCompute客戶端工具是阿里云大數(shù)據(jù)計算服務(wù)MaxCompue產(chǎn)品官方客戶端工具,通過客戶端工具可以連接MaxCompute項目,完成包括數(shù)據(jù)管理、數(shù)據(jù)上下傳、作業(yè)執(zhí)行、用戶及授權(quán)管理等各項操作。
但有用戶會碰到在Windows下的命令行中執(zhí)行odpscmd后,查詢包含中文字符的表數(shù)據(jù)時出現(xiàn)亂碼的情況,本文將給出問題分析和解決方法,幫助大家快速處理這樣的問題。
問題描述:
Windows用戶下載配置配置客戶端(odpscmd)后,在查詢包含中文字符的表數(shù)據(jù)時,會出現(xiàn)亂碼情況,如下圖所示:
問題分析:
MaxCompute對中文默認使用utf-8字符集的編碼方式,客戶端亂碼的原因是因為用戶訪問的客戶端側(cè)(也就是windows下的cmd命令行)沒有使用utf-8對查詢反饋的字符進行解析展示,所以需要查看cmd的當(dāng)前顯示字符設(shè)置是否為utf-8,如果不是需要修改為utf-8后進行查詢,即可正確展示。
操作方法:
1.驗證Windows的cmd的當(dāng)前字符設(shè)置。在cmd中執(zhí)行chcp命令,并回車:
如上圖,查詢結(jié)果為936,代表當(dāng)前代碼頁為簡體中文GBK
3.通過cmd的屬性,修改cmd的字體
chcp 65001后還不能直接在odpscmd中正常查看中文,還需要在cmd的屬性窗口的“字體”欄中,選擇"點陣字體"之外的字體,如"Lucida Console"或者"新宋體"等字體。
修改完畢后,會發(fā)現(xiàn)在cmd屬性的"選項"欄中的"當(dāng)前代碼頁"的字符設(shè)置已經(jīng)修改為65001(UTF-8)
想永久的更改cmd編碼值需要修改注冊表,在運行中通過regedit進入注冊表,找到HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe,新建一個 DWORD(32位值),命名為CodePage,值設(shè)為65001 .
更多信息,可以自行搜索chcp相關(guān)的使用文章。
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
云棲號 - 上云就看云棲號
總結(jié)
以上是生活随笔為你收集整理的MaxCompute客户端在windows命令行下查询中文乱码怎么办?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 助力在线教育,阿里云推出百万专项扶持基金
- 下一篇: 如何为Kubernetes实现原地升级