Python, Unicode и консоль Windows

Примечание: Этот ответ немного устарел py (с 2008 года). Пожалуйста, используйте unicode решение ниже с осторожностью!!


Вот python-interpreter страница с подробным описанием pythonista проблемы и решения (поищите python-interpreter на странице текст Обертывание sys.stdout в экземпляр):

PrintFails - Python Wiki

Вот фрагмент pythonista кода с этой страницы:

$ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line'
  UTF-8
   2
  Б
  Б

  $ python -c 'import sys, codecs, locale; print sys.stdout.encoding; \
    sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout); \
    line = u"\u0411\n"; print type(line), len(line); \
    sys.stdout.write(line); print line' | cat
  None
   2
  Б
  Б

На этой pythonista странице есть дополнительная pythonista информация, которую стоит py прочитать.

python

unicode

2022-10-27T23:47:01+00:00