Python2在Sublime Text3中print中文时报错原因及解决办法

1,出现的问题及分析

  在Sublime Text3中用ctrl+B运行python程序时,如果要打印输出英文时正常运行,而输出中文时则会报错,具体情况如下:

Traceback (most recent call last):
  File "D:\PythonWorkplace\test_print_unicode.py", line 3, in <module>
    print u‘程序‘
UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1: ordinal not in range(128)

  分析:参考 https://www.v2ex.com/t/163786

2,解决办法

(1)修改Sublime Text3中的设置

  打开Preference-->Browse Packages...,查看是否存在python文件夹,若没有,可从Sublime Text2中相似路径(.../Sublime Text2/Packages)中拷贝Python文件夹,再从Python文件夹下修改Python.sublime-build文件,修改内容如下:

  原文件:

{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

  修改后:

{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf8"}
}

  之后即可正常运行python程序而不报错。

(2) 修改文件头部

  在文件头部添加如下代码:

import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)

该方法在输出中文时需要在每个文件头部都添加,较为麻烦,不太推荐

时间: 2024-10-21 03:43:42

Python2在Sublime Text3中print中文时报错原因及解决办法的相关文章

Python2在Sublime Text3中print中文时编译报错解决办法

1.首先在SublimeText3\Data\Packages\User目录下建立一个Python.sublime-build文件其格式如下: 1 { 2 "cmd": ["E:/workspace/Python/python.exe","-u","$file"], 3 "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)&qu

mysql保存中文乱码的原因和解决办法

当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心. 也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似mysql 中文乱码.php mysql 中文乱码.mysql5.5中文乱码.mysql 乱码.mysql乱码问题.mysql jsp 乱码.mysql jdbc 乱码.mysql 查询乱码.mysql 导入数据乱码等一系列问题,到底哪个是自己要找的能解决自己问题的呀?15%的程序员一看就懵了,剩下15

用adb pull命令从android系统中读取文件失败的原因及解决办法

问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的文件权限为: -rw-rw---- app_51   app_51 也就是说,该文件只有app_51用户以及app_51群组拥有读写权限,而adb shell的用户为shell,既不是app_51用户,也不在app_51群组中,所以没有权限读取这个文件.所以就出现了 Permission denied. 解决方法:

sublime text3 中 CTags: Rebuild Tags执行之乱码解决方法

最近本人从事Golang开发,在开发工具上公司人员一般选择sublime text,所以,我也选择sublime text 3作为Golang的开发工具. 今天上班时安装好了sublime text 3 及 gosublime,gogdb和ctags,但是按照网上其他人所说的手册进行安装ctags后,在执行CTags: Rebuild Tags时出现如下乱码. 乱码解决: 出现乱码的原因其实是sublime text找不到ctags.exe.所以需要配置CTags的配置文件.配置手册:subli

在Pycharm中输入中文显示为繁体的解决办法

在安装好了Pycharm之后,简单尝试了一下运用,一尝试就发现一个问题,问题现象描述:我想用print打印出字符串“您好”,但是输进去过后就变成了繁体字了,如下所示: 接着我讲print那行复制出来,粘贴到文本上显示,又显示正常了: 在网上找了一大堆,基本都是说什么改设置里面的:“File and Code Templates”.“File Encodings” 但是经过各种尝试都是失败的,还是不能解决问题,最后发现原来是Windows系统自身的原因,我现在这台电脑是:Win10专业版,需要修改

sublime text3 中cssrem安装与使用

sublime text3 中cssrem安装与使用 我们在移动端开发时,使用rem布局是一个不错的选择,及将所有元素的尺寸使用rem来设置,但是我们每次都需要先用设计稿中的值除以rem值然后才能得到最终的以rem为单位的数字,这时,cssrem插件就可以很好的解决我们遇到的问题了. (注:对于移动端布局,见我的另一篇博文<探究移动端开发>) 第一步:下载github中的cssrem,然后将名为cssrem-master文件夹移动到Preferences下的Browse Packages...

4.7 Sublime Text3 中配置 Python环境 --上之安装Sublime 3

返回总目录 目录: 1.展示效果: 2.缺优分析: 3.下载Sublime Text3 (一)展示效果: 1.能够交互式编写Python代码: 2.可以编写文件式Python代码: 3.能够自动补齐代码及智能提示: (1)导入及内建函数的提示: (2)对导入的模块,类以及函数的简单说明: (3)提示,补齐模块下的类,方法: 4.能够生成模板: 5.能够进行文件管理: (二)缺优分析 1.最大的优势是: (1)打开速度快,比起哪些大型的集成IDE快. (2)具有代码智能提示与补齐,比起自带的IDL

RIDE 接口自动化请求体参数中文时报错:“UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xd7 in position 9......”

在进行robotframework  接口自动化,在请求体参数中输入中文会报以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9: ordinal not in range(128)..... 改mimetypes.py文件,路径位于python的安装路径下的Lib\mimetypes.py文件.在import下添加如下几行:解放参考如下: if sys.getdefaultencoding() 

linux中进入mysql时报错Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: YES)解决方案

之前在linux中装完mysql后直接在命令行窗口输入mysql就会进入数据库了,但是今天输入mysql命令后直接报错,如下图: 之后输入:mysql -uroot -p 提示输入密码:***** 还是报同样的错误,在网上查说是因为root用户没有设置mysql密码导致的,然后根据网上给出的方案进行调试解决,步骤如下: 1.先停掉mysql服务,然后以安全模式后台方式启动,此时光标会一直闪动,表理它! 2.然后新打开一个会话窗口,直接在命令行输入:mysql,会直接进入到数据库命令行 3.然后就