这是一个困扰我很久的问题。我使用 bbedit 来编辑 python 代码。据我了解,从编辑器中运行代码会产生自己的 python 进程,运行代码,并将输出写入日志文件。所以 bbedit 不知道环境变量等。如果我在终端的命令行中尝试此操作:
>>> s = 'háček'
>>> print s
háček
发现和好的。但是如果我在 bbedit 中有以下文件:
#!/opt/local/bin/python
# -*- coding: utf-8 -*- #
s = u'háček'
print s
并尝试从我得到的编辑器中运行它:
UnicodeEncodeError:“ascii”编解码器无法对位置 1-2 中的字符进行编码:序数不在范围内(128)
所以我必须这样做:
print s.encode('utf-8')
任何熟悉 bbedit 的人都可以为我阐明这里发生了什么吗?有没有办法告诉编辑器在存在 unicode 字符的情况下如何表现?
谢谢,乔恩