Zrozumieć terminal Python Unicode i Linux

Mam skrypt Pythona, który zapisuje niektóre ciągi z kodowaniem UTF-8. W moim skrypcie używam główniestr() funkcja rzutowania na łańcuch. Wygląda to tak:

mystring="this is unicode string:"+japanesevalues[1] 
#japanesevalues is a list of unicode values, I am sure it is unicode
print mystring

Nie używam terminala Python, tylko standardowy terminal Linux Red Hat x86_64. Ustawiłem terminal na wyjście znaków utf8.

Jeśli to wykonam:

#python myscript.py
this is unicode string: カラダーズ ソフィー

Ale jeśli to zrobię:

#python myscript.py > output

Dostałem typowy błąd:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 253-254: ordinal not in range(128)

Dlaczego?

questionAnswers(2)

yourAnswerToTheQuestion