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输出乱码解决方案的主要内容,如果未能解决你的问题,请参考以下文章