导航:首页 > 程序命令 > 修改命令行编码

修改命令行编码

发布时间:2024-09-08 22:33:46

python命令行输入中文乱码怎么办

python2.X,代码中指定了UTF-8,但是在cmd命令行窗口时,打印的中文仍然会乱码。

在python3不存在该问题

运行结果:

原因

中文windows默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。

相关推荐:《Python基础教程》

解决方法

有如下两种方法可以解决这个问题

方法一

我们可以通过先把中文解码为unicode,然后再转化为gbk来解决这个问题:

修改后运行结果:

方法二

当然,我们也可以通过改变cmd命令行窗口的输出格式来解决这个问题:

·chcp 65001 就是换成UTF-8代码页

·chcp 936 可以换回默认的GBK

但是这样就降低了脚本的兼容性,在其他环境运行的时候可能还会出现这样的错误,而且可能会影响其他脚本运行,所以推荐使用第一种方法。

⑵ 命令行下中文显示乱码,怎么解决

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致。

修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001
切换回中文:chcp 936
这两条命令只在当前窗口生效,重启后恢复之前的编码。

切换cmd窗口字符编码有风险,例如切换过以后中文显示乱码,并且不能永久切换回原来模式,只能每次chcp 936。

cmd中文显示乱码永久解决方案,以切换回中文936为例:

打开不正常的 CMD命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,切换到第一个“选项”tab,将默认的代码页改为 936 后重启 CMD。重启cmd后还不能正常显示请继续往下看。

如果重启 CMD以后无法生效:窗口的“默认值”和“属性”没变,则进入注册表,在 HKEY_CURRENT_USER\Console下找到%SystemRoot%_system32_cmd.exe(如果没有codepage就不考虑了),codepage值改为 936(十进制)或 3a8(十六进制)。
936(十进制)是简体中文的,如是其它语言,则改为对应的代码。

部分字符编码对应代码:
65001——UTF-8
936——简体中文
950——繁体中文
437——美国/加拿大英语
932——日文
949——韩文
866——俄文

最后一个乱码原因:CMD 的“默认值”或“属性”窗口的“字体”选项卡中设定为可以显示中文字符的字体,并且确定字体文件没有被破坏,字体最好设置为默认的点阵字体。

阅读全文

与修改命令行编码相关的资料

热点内容
低成本的昂科编程器 浏览:579
886设置加密方式 浏览:523
突然放量预警源码 浏览:754
linux命令行分辨率 浏览:347
程序员不晋升能干到多少岁 浏览:378
谷歌推广用什么服务器 浏览:628
和平精英安卓怎么登苹果系统 浏览:147
除法的心算法 浏览:303
音乐源码下载 浏览:719
编程拖放 浏览:43
linux卸载tomcat 浏览:875
手机时间如何校正到服务器 浏览:83
创造与魔法瞬移源码百度 浏览:889
反射优化java 浏览:878
硬件加密播放盒子 浏览:925
xp点击文件夹选项没反应 浏览:537
苹果不显示桌面的app怎么删除 浏览:866
安卓手机怎么换国际服 浏览:417
神兽领域安卓怎么下载 浏览:252
单片机交通灯ad原理图 浏览:415