sublime+virtualenv中文乱码的问题

自从sublime使用了virtualenv模块,在控制台运行总显示中文乱码,例如下面一段代码

import os,sys
print(os.name)
s=os.system('ipconfig')
content=os.popen('opconfig').read()
print(content)

会显示

用cmd小黑框输出就是正常的,如下

参考了两篇文章

第一篇https://www.jianshu.com/p/a0c8e8f22467

讲的是非virtualenv的环境下解决中文乱码问题,主要就是修改.sublime-build文件

解决办法是:

在sublime text3的菜单栏选择 Tools->Build System->New Build System...,然后在打开的文件中输入下面的代码,把原有内容替换。

新建一个sublime-built文件,将里面的内容替换成如下:

{

    "cmd": ["python","-u","$file"], 

    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 

    "selector": "source.python", 

    "encoding": "cp936"

}

如果你已经创建好了符合自己需求的sublime-build文件,就直接修改,加上”encodeing“:“cp936”

这个文件一般是放在:
你的Sublime安装路径\Packages\User

如果没有上面的路径,则放在这个路径:
C:\Users\你的用户名\AppData\Roaming\Sublime Text 3\Packages\User

但是我在文件中并没有找到我的python+Virtualenv环境于是我参考了https://blog.csdn.net/weixin_39712016/article/details/111906792

解决办法是:找到我们插件安装的位置:

找到插件安装的地方:C:\Users{Username}\AppData\Roaming\Sublime Text 3\Installed Packages ==>注意改变一下Username为你自己的,Users在你系统也可能叫做“用户”,AppData这个目录是隐藏的,需要你查看隐藏文件。

里面就可以找到一个叫做Virtualenv.sublime-package的文件,这个就是Virtualenv插件的包。
在名称后面加上.zip换成压缩包的格式就可以打开更改了,(这个包的修改方式竟然如此特殊),无需解压直接打开里面的Python+Virtualenv.sublime-build文件(可以用sublime打开呀),上文中在这个文件里加了"env": {"PYTHONIOENCODING": "utf8"},变成了:

{
"env": {"PYTHONIOENCODING": "utf8"},

"target": "virtualenv_exec",

"shell_cmd": "python -u \"$file\"",

"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

"selector": "source.python"

}

就可以显示中文了但是我尝试后还是不行,于是我去掉了“env”那一行,加上了“encoding": "cp936"最终变成了

{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"target": "virtualenv_exec",
"selector": "source.python",
"quiet": true,
"encoding": "cp936"
}

可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值