我怎么能改变python控制台编码MAC OSX

时间:2015-03-03 23:54:19

标签: python macos encoding sublimetext2

我在这个有趣的线程中尝试了所有 Changing default encoding of Python? 但对我来说没什么用。 我使用sublime文本,当我尝试:

import sys
print(sys.stdout.encoding)

输出为:US-ASCII

我有一个在Windows下完美运行的python脚本(输出为:utf-8)

但是在osx 10.10.2上,我总是遇到问题

另一件可能有助于回答的事情, 当我在python shell(osX)中尝试这段代码时:

>>> leString = '/Users/djex/Desktop/dosser\ é\ espace'
>>> type(leString)
<class 'str'>

>>> stringNew = leString.encode('utf-8')
>>> type(stringNew)
<class 'bytes'>

>>> print (stringNew)
b'/Users/djex/Desktop/dosser\\ \xc3\xa9\\ espace'

>>> print (stringNew.decode('utf-8'))
/Users/djex/Desktop/dosser\ é\ espace
>>>

一切都好。但是......

当我在sublime text(osX)中尝试相同的事情时,它不起作用

我总是有这个错误

unicodeencodeerror 'ascii' codec can't encode character '\u0300' blabla

或错误如

'str object has no attrbute decode'

我真的不明白我的问题出在哪里

Ty为你提供帮助

1 个答案:

答案 0 :(得分:0)

实测值, 我的问题是在python.sublime-build文件

此文件没有&#34; env&#34;线

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8",
"env": {"LANG": "fr_FR.UTF-8"}
}