一、乱码现象
最近使用DataX迁移数据的时候命令行中文输出乱码了,如下所示:
这是因为DataX程序是使用UTF-8编码开发、打包的,而Windows命令行默认使用的不是UTF-8编码,
命令行属性中可以看到,默认使用的是GBK编码,所以产生了中文乱码。
二、临时解决方案
在命令行中直接执行命令
chcp 65001
执行完成之后就可以发现控制台编码已经变成了UTF-8
常见代码页对照表
| 代码页 | 对应编码 | 适用场景 |
|---|---|---|
| 936 | GBK | 简体中文系统默认,兼容性最佳 |
| 65001 | UTF-8 | 跨平台开发、国际通用字符 |
| 437 | ASCII | 美国英语(原始DOS默认) |
| 950 | Big5 | 繁体中文(台湾、香港) |
三、永久解决方案
修改注册表:快捷键Win+R,键入regedit,找到注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,并找到AutoRun选项,如果没有,则新建一个。
修改值为chcp 65001
这样,每次打开新的控制台窗口,就会自动设置编码为UTF-8了。
转载自:https://cloud.tencent.com/developer/article/2084809
注意:本文归作者所有,未经作者允许,不得转载