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 subprocessping = 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窗口下执行jar包 logger.info输出乱码,out语句输出正常解决办法