Sublime Text 的Unicode编码问题
来源:互联网 发布:淘宝网外国小女孩模特 编辑:程序博客网 时间:2024/06/03 16:11
【注】:下述操作过程是结合多种网络方法,然后自己实践的结果。写在这里,主要目的是加深记忆,也希望能帮助后来者
【问题】:使用Sublime Text 编译如下代码:print('中')时出错:
Traceback (most recent call last):
File "/Users/noiccy/Desktop/PythonCode/CodingProblem.py", line 1, in <module>
print('\u4e2d')
UnicodeEncodeError: 'ascii' codec can't encode character '\u4e2d' in position 0: ordinal not in range(128)
[Finished in 0.0s with exit code 1]
【原因】:ASCII 编码无法对 unicode 的中文进行编码,因此报错。Python 在 print unicode 时真正涉及到的是另一组编码:stdin/stdout/stderr 的编码,也就是标准输入、标准输出和标准错误输出的编码。
运行如下代码:
import sys
print(sys.stdin.encoding)
print(sys.stdout.encoding)
print(sys.stderr.encoding)
print('中')
【输出】:
US-ASCII
US-ASCII
US-ASCII
Traceback (most recent call last):
File "/Users/noiccy/Desktop/PythonCode/CodingProblem.py", line 5, in <module>
print('\u4e2d')
UnicodeEncodeError: 'ascii' codec can't encode character '\u4e2d' in position 0: ordinal not in range(128)
[Finished in 0.1s with exit code 1]
【解决方法】:打开Python3.sublime-build文件,加上一行代码:"env": {"LANG": "en_US.UTF-8"},具体操作如下:
依次点击:Sublime Text->Preferences -> Browse Packages -> User -> Python3.sublime-build(注:后两项是文件路径,可能存在差异)
加上 env那行代码,如下:
{
"cmd": ["/Library/Frameworks/Python.framework/Versions/3.6/bin/python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"LANG": "en_US.UTF-8"}
}
如上操作之后,再运行代码:
import sys
print(sys.stdin.encoding)
print(sys.stdout.encoding)
print(sys.stderr.encoding)
print('中')
【输出】:
UTF-8
UTF-8
UTF-8
中
[Finished in 0.1s]
参考网址:https://stackoverflow.com/questions/15166076/sublime-text-2-encoding-error-with-python3-build/15174760#15174760
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【后注】:下面的方法我曾尝试过,但是没有成功……放在这里,仅供参考
网上出现最多的方法是这样的:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print('中')
但是,我的编辑器仍然报错……
Traceback (most recent call last):
File "/Users/noiccy/Desktop/PythonCode/CodingProblem.py", line 2, in <module>
reload(sys)
NameError: name 'reload' is not defined
[Finished in 0.1s with exit code 1]
阅读全文
1 0
- Sublime Text 的Unicode编码问题
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- sublime-text 2 编码问题
- Sublime Text编码
- Sublime Text 文档编码
- sublime text 2支持gbk编码-解决浏览器中文乱码的问题
- 解决Sublime Text 3在GBK编码下的中文乱码问题
- 解决Sublime Text 3在GBK编码下的中文乱码问题
- 解决Sublime Text 3在GBK编码下的中文乱码问题
- Sublime Text使用GBK编码中文乱码问题
- 头痛的Unicode编码问题
- Unicode相关的编码问题
- 使用sublime text的一些问题
- Sublime Text中文输入法的问题
- Sublime Text 3143 注册码失效的问题
- 解决sublime text中文乱码的问题
- 数据结构面试题/求一棵二叉树的镜像
- 5-2 朋友圈 (25分)
- 简述static关键字在c/c++中的作用
- zepto.js滑动事件,jquery获得url参数,手机端双击图片和手势放大
- MVC5+EF+MYSQL(连接):code first
- Sublime Text 的Unicode编码问题
- CocoaPods版本升级
- 轻运维工具-salt-使用相关
- HTML学习笔记
- [2] UI原型设计工具Pencil Project 学习系列----- 入门
- jvm优化
- 初步认识CSS
- 1019. 数字黑洞 ( )
- ACM零起点2017-7-27(查找算法之------尺取法、二分法、三分法)