打印和UnicodeEncodeError

时间:2016-01-15 20:31:08

标签: python-3.x

我知道有很多类似的问题,但似乎没有人回答我的问题。

出现此错误:

print('Dimming', device.name, 'to', level)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 3: ordinal not in range(128)

如果我测试打印该字符,它可以工作:

$ python3
Python 3.4.3 (default, Oct 14 2015, 20:33:09)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('\xe5')
å
>>> print('å')
å

如果我添加.encode('utf-8'),则只输出Dimming b'Byr\xc3\xa5' to 100

这是通过Upstart在Ubuntu上运行的进程。如何让它输出正确的字符?

1 个答案:

答案 0 :(得分:1)

env LANG=en_US.UTF-8添加到Upstart脚本配置文件中。