Sublime Text3 编译后无法正常显示中文的问题修复

一、乱码现象

利用sublime自带编译快捷方式ctrl+B会出现中文乱码的情况

print("没有循环数据!")
print("完成循环!")

二、寻找原因

1、由于之前我已经安装了插件ConvertToUTF8,排除文本编码错误问题

2、相同的代码在插件sublimerepl搭建的解释器交互下(按F5键),能成功显示中文

。。。。。。在查找了很多案例之后发现
Anaconda插件安装之后会自动生成一个叫“Anaconda Python Builder”的编译系统,在 工具-编译系统-中可以看到

然后在这篇博客里面找到原因,原来是因为sublime读取解释器返回文本的编码不一样,于是通过下面这段代码验证:

import sys
print(sys.stdout.encoding)

用ctrl+B进行编译,返回的是“cp936”,用repl解释器交互返回的是utf-8,说明是由于编码不一致导致的
之后新建了一个编译系统:

在Python3.sublime.build中写入下面代码

1 {
2 "cmd":["C:\\Users\\jh\\Anaconda3\\python.exe", "-u", "$file"],
3 "path":"C:\\Users\\jh\\Anaconda3\\python.exe", // 注意:路径根据自己的python安装路径而定
4 "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
5 "selector": "source.python",
6 "encoding": "utf-8" ,
7 "env": {"PYTHONIOENCODING": "utf8"}//通过这句,使编码一致,都是utf8
8 }

之后再用ctrl+B进行编译,返回“utf-8”,并且能成功打印中文

原文地址:https://www.cnblogs.com/IrivingLoveLuna/p/10238305.html

时间: 2024-08-06 06:47:07

Sublime Text3 编译后无法正常显示中文的问题修复的相关文章

sublime text3编译C/C++系统提示丢失zlib1.dll解决办法

用g++ 编译C/C++程序时 出现如下系统提示: 解决办法如下: 1.下载zlib1.dll: http://www.pc6.com/softview/SoftView_81060.html 2.解压后放到系统目录中 32位系统:放到C:\Windows\System32\(此处为系统目录) 64位系统:放到C:\Windows\SysWOW64\ 3.然后win+R,输入cmd,编译C/C++,编译通过,如下图 在sublime text3中新建编译配置文件myC++.sublime-bul

Ubuntu下sublime text3的安装+破解+汉化+中文输入

一.Sublime Text3的下载安装 建议直接去官网下载最新版deb安装包:http://www.sublimetext.com/3 二.Sublime Text3的破解 —– BEGIN LICENSE —–                Nicolas Hennion                Single User License                EA7E-866075                8A01AA83 1D668D24 4484AEBC 3B04512

sublime text3编译运行C,Java程序的一些配置

环境:linux 64位 桌面环境: gnome Java编译运行 (1)Preferences --> Browse Packages --> 在该文件夹下新建build文件如: MyjavaC.sublime-build, 粘贴以下代码: { "cmd": ["javac \"$file_name\" && java \"$file_base_name\""], "shell"

Sublime Text3编译运行C++的配置

1:新建文件  G++.sublime-build ,放置到  C:\Users\Administrator\AppData\Roaming\Sublime Text 3\Packages  中,文件中的内容为: { "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}","-Wall" ], "file

sublime text3 编译less

1,  下载 插件   链接:http://pan.baidu.com/s/1bNbFJK 密码:m3zt 2,解压后把lessc文件夹放到sublime text3 的\Data\Packages 下面,sublime  安装less2css 和less 插件 ,重启sublime 3, 在sublime text 3下面 新建一个less 文件 保存后, 会在当前目录下自动生成一个css文件

myeclipse中tomcat部署编译jsp页面后,浏览器显示中文乱码

我就新建一个空的web工程,里面就一个index.jsp,然后我将其部署运行.以下是页面代码 以上代码就是index.jsp页面的.以下为在网上找了一点解决办法,tomcat server.xml中改的一部分 直接部署运行,浏览器就出现乱码了 我终于找到了问题的根本了.我用的myeclipse2016版的嘛,是ide的问题. 就是上图中把像眼睛一样的东西关掉,就可以了.如果还是不行,多试试几次. 来源:https://segmentfault.com/q/1010000005983988

Sublime Text3编译运行C++的配置方法2

1下载MinGW 下载地址: sourceforge.net/projects/mingw/files/ 打开下载的安装程序,按如下方式安装 Install->Change->D:\MinGW->Continue->Continue mingw32-base->mingw32-gcc=g++->Installation->Apply Changes->Apply->Close 2安装好MinGW,我的目录为D:\MinGW,设置环境变量: 变量名  

编辑器笔记——sublime text3 编译sass

如已经安装sass 和 sass build两个插件到ST,command+b编译也没有问题,那么另外安装koala,在koala中引入你要编辑的sass,并把该sass文件设置为自动编译,那么用ST编辑该sass保存时就能自动编译了,不用每次command+b编译那么麻烦.<img data-rawheight="556" data-rawwidth="900" src="https://pic4.zhimg.com/8a98744f8af

在ubuntu下用sublime text3编译C++和pascal

编译C++: 选择Tools -> Build System -> New Build System,把下面代码拷贝进去,保存,自己起个名字. 然后打开C++文件,选择Tools -> Builid System ->你刚才保存的名字,按Ctrl + B就可以编译了. {     "cmd": ["g++", "-Wall", "-std=c++11", "${file}", &qu