我知道有很多类似的问题,但似乎没有人回答我的问题。
出现此错误:
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上运行的进程。如何让它输出正确的字符?
答案 0 :(得分:1)
将env LANG=en_US.UTF-8
添加到Upstart脚本配置文件中。