cmd \033转义字符对输出内容进行颜色变化出现乱码的解决办法
解决cmd /033转义字符被识别时乱码解决问题的过程解决问题办法解决问题的过程重装了一次系统之后,改项目bug的时候发现了flask的GET和POST请求的输出信息全部带有乱码,具体如下刚看到这种类型的乱码的时候,还以为是哪里的编码出了问题,最终把cmd的默认字符集改为了utf-8(中文乱码可以通过这种办法解决,建议是直接更改注册表的方式,能百度到)然而仍然不能解决问题,我对比了原来的截图发现这
解决问题的过程
重装了一次系统之后,改项目bug的时候发现了flask的GET和POST请求的输出信息全部带有乱码,具体如下
刚看到这种类型的乱码的时候,还以为是哪里的编码出了问题,最终把cmd的默认字符集改为了utf-8(中文乱码可以通过这种办法解决,建议是直接更改注册表的方式,能百度到)
然而仍然不能解决问题,我对比了原来的截图发现这一段原本是有颜色的,现在正好在有颜色的一段的字符串首和字符串末出现乱码,于是定位到这是cmd改变字体颜色时出现的问题。但在百度上没有看到任何与“更改cmd输出内容颜色时出现乱码”的问题,只要一带有关键词“乱码”,就都搜到的是中文乱码的问题,和这个问题完全不一样。学习了python改变cmd输出内容颜色的知识后,完全定位了问题。
cmd控制台有“\033”这个转义符号,而正是这个“\033”出现了问题,变成了?[,这里的问号复制出来是一个方块(乱码专用符号,滑稽)。然而就算如此仍然找不到相关的问题,最后在一篇讲\033如何进行转义的文章中,找到了办法。
https://www.cnblogs.com/naiij/p/9772584.html
它讲的是如何使用cmd输出彩色字体
ANSI转义序列是一种带内信号的转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。
由此我自己认为可能是缺少某种依赖而导致\033无法被识别。抱着试一试的心态,安装了ANSICON,果真成功了。
注意:这种方法不是解决 \033无法识别 或者 变成箭头 这种问题的办法。
解决问题办法
- 点这里下载ANSICON --From Github
- 下载zip

- 解压后使用cmd控制台进入该文件夹(64位系统进入x64,32位系统进入x86)

- 分别运行下面两行代码
ansicon.exe -iansicon.exe -l - 然后就可以解决这样的乱码问题了

有其他什么细节问题欢迎了解的dalao指正,就是因为搜不到这个问题,才写这篇文章,希望能够帮到同样遇到这个问题的人。
更多推荐

所有评论(0)