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?