Loading... 使用 sublime text 3 编写 python 脚本时,平常使用 `Ctrl+B` 的编译系统编译在输出结果中中文就是显示正确的中文,不会显示乱码,但是当我启用了 virtualenv 插件,使用虚拟环境编译时,却看到中文显示出了乱码。 我又在 cmd 运行 python 做了测试,即使是在虚拟环境,也不会出现乱码的情况,这是为什么呢? 经过探究,终于在别人的一篇博文上找到了解决方法。 首先,我是安装了 Virtualenv 插件到 sublime 的,编译时会出现乱码,乱码长啥样呢?我去网上找了例子图: 代码: ```python print("没有循环数据!") print("完成循环!") ``` 可能编译后会变成这样: ![sublime-virtual-code-1.png](http://static.fox-9.com/uploads/2021/08/19/sublime-virtual-code-1.png!webp) 完全不知道这是啥子。 如何解决呢? 原来是编译系统默认的编码配置问题。 **首先关闭一下 sublime 如果你有启动的话,避免出问题。** 找到插件安装的地方:`C:\Users {Username}\AppData\Roaming\Sublime Text 3\Installed Packages` ==> 注意改变一下 Username 为你自己的,Users 在你系统也可能叫做 “用户”,AppData 这个目录是隐藏的,需要你查看隐藏文件。 里面就可以找到一个叫做 `Virtualenv.sublime-package` 的文件,这个就是 Virtualenv 插件的包。 怎么打开呢? 在修改文件名,将后缀改为 zip,如 `Virtualenv.sublime-package.zip`,这时候就变成一个压缩文件了。 双击打开,我这里使用好压打开的。然后找到里面的 `Python + Virtualenv.sublime-build` 这个文件,这个文件就是编译系统的配置文件。(PS:我第一次学习的时候把我惊呆了,原来这个包是可以这样解压的) ![sublime-virtual-code-2.jpg](http://static.fox-9.com/uploads/2021/08/19/sublime-virtual-code-2.jpg!webp) 无需解压,直接在压缩软件中右键该文件,选择打开。然后选择适当的文本编辑器打开,比如我选了 notepad++。 可以看到里面默认的代码是这样的: ```json { "target": "virtualenv_exec", "shell_cmd": "python -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } ``` 在前面增加一行编码配置,变成: ```json { "env": {"PYTHONIOENCODING": "utf8"}, "target": "virtualenv_exec", "shell_cmd": "python -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } ``` 保存该文件。然后关闭。这时压缩软件会检测到你的修改,并提示是否重新保存压缩文件,就点击是就好了。重新压缩好之后,关闭压缩包。 将后缀名去掉,再变回 `Virtualenv.sublime-package` 即可。 打开你的 sublime,还是一样的进入虚拟环境编译一下,看!是不是已经能正常显示中文啦? 雪山凌狐做了部分补充和修改。 原文链接:[https://www.cnblogs.com/nymrli/p/9542751.html](https://www.cnblogs.com/nymrli/p/9542751.html) 最后修改:2021 年 08 月 19 日 © 转载自他站 赞 赠人玫瑰,手留余香