Я прочитал все, что есть, чтобы прочитать о Юникоде, UTF-8, кодировании / декодировании и обо всем, но я все еще испытываю трудности.
Я сделал небольшой фрагмент примера, чтобы проиллюстрировать мою проблему.
Я хочу напечатать строку 'Geïrriteerd', как написано здесь.Мне нужно использовать следующий код, чтобы он правильно печатался в файл, если я запускаю его с перенаправлением в файл, например «Test.py> output»
# coding=utf-8
import codecs
import sys
sys.stdout = codecs.getwriter('UTF-8')(sys.stdout)
print u'Geïrriteerd'
Но если я НЕ перенаправляю,код выше выводит «Ge '» rriteerd »на терминал.Если я удалю строку 'codecs.getwriter', она снова будет нормально печататься на терминале, но напечатает 'Ge├> rriteerd' в файл.
Как я могу заставить это печататься правильно в обоих случаях?
Я использую Python 2.7 в Windows 10. Я знаю, что Python 3.x в целом лучше обрабатывает юникод, но я не могу использовать это в своем проекте (пока) из-за других зависимостей.