Понимание Python Unicode и терминала Linux
У меня есть сценарий Python, который пишет некоторые строки с кодировкой UTF-8. В моем сценарии я использую в основномstr()
функция для приведения к строке. Это выглядит так:
mystring="this is unicode string:"+japanesevalues[1]
#japanesevalues is a list of unicode values, I am sure it is unicode
print mystring
Я неиспользовать терминал Python, просто стандартный терминал Linux Red Hat x86_64. Я установил терминал для вывода utf8 символов.
Если я выполню это:
#python myscript.py
this is unicode string: カラダーズ ソフィー
Но если я сделаю это:
#python myscript.py > output
Я получил типичную ошибку:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 253-254: ordinal not in range(128)
Это почему?