Windows下Pycharm运行命令行语句结果乱码问题��Ȩ��Ӧ��

今天在学习python多线程的时候遇到了一个问题

import subprocess

print('$ nslookup www.baidu.com')
r = subprocess.call(['nslookup', 'www.baidu.com'])
print('Exit code:', r)

"$ nslookup www.baidu.com"语句相当于在cmd中输入:nslookup www.baidu.com命令

然而得到的结果是乱码的:

$ nslookup www.baidu.com
��Ȩ��Ӧ��:
������:  UnKnown
Address:  172.20.10.1


����:    www.a.shifen.com
Addresses:  180.97.33.108
  180.97.33.107
Aliases:  www.baidu.com


Exit code: 0


在文件开头加了 # -*- coding:utf-8 -*- 也没用

后来查了百度,了解到cmd默认编码是GBK,而Pycharm默认编码是UTF-8...

那我把Pycharm编码改成GBK应该ok的,操作如下:



重新运行后就正常了:

$ nslookup www.baidu.com
非权威应答:
服务器:  UnKnown          (PS:这里UnKnown是因为我现在用的手机WIFI- -)
Address:  172.20.10.1


名称:    www.a.shifen.com
Addresses:  180.97.33.108
  180.97.33.107
Aliases:  www.baidu.com


Exit code: 0

猜你喜欢

转载自blog.csdn.net/qq_31998745/article/details/80700146