node调用cmd输出乱码解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node调用cmd输出乱码解决方案相关的知识,希望对你有一定的参考价值。

参考技术A 简体中文windows命令行,都使用的是CP936(近似于gb2312)编码,nodejs以utf8识别是会出问题。
可以这样处理:

先用binary来存储输出的文本,再用iconv来以cp936解析。

PyCharm编写 os.system调用cmd输出乱码,直接print中文是正常的,用Python的工具去调用os.system 也正常

试了一下,用迂回的办法解决:

import subprocess
ping = subprocess.Popen(["ping",    "127.0.0.1"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, error = ping.communicate()
print(out.decode('gbk')) #gbk是我电脑上的编码,你可以试试其他的

参考技术A pycharm 设置里面把编码改成gbk即可

以上是关于node调用cmd输出乱码解决方案的主要内容,如果未能解决你的问题,请参考以下文章

命令行系列:解决cmd输出中文乱码

cmd窗口下执行jar包 logger.info输出乱码,out语句输出正常解决办法

windows 控制台cmd乱码的解决办法

解决vscode控制台中文乱码问题

windows 控制台cmd乱码(及永久修改编码)的解决办法

node.js响应,输出文本解决乱码问题