2016-01-15 122 views
1

我知道有很多類似的問題,但似乎沒有人回答我的問題。打印和UnicodeEncodeError

收到此錯誤:

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

這是一個進程運行在Ubuntu上通過Upstart。我怎樣才能讓它輸出正確的字符?

回答

1

env LANG=en_US.UTF-8添加到Upstart腳本conf文件中。

+0

太棒了,它幫助了我! –