Как отобразить utf-8 в консоли Windows

Я использую Python 2.6 на Windows 7

Я позаимствовал код здесь:Python, Unicode и консоль Windows

Моя цель - показать строки uft-8 в консоли Windows.

По-видимому, в Python 2.6,

sys.setdefaultencoding ()

больше не поддерживается

Тем не менее, я написал reload (sys), прежде чем пытался использовать его, и он волшебным образом не ошибся.

Этот код НЕ будет ошибкой, но вместо японского текста он показывает забавные символы.Я считаю, что проблема заключается в том, что я не изменил кодовую страницу консоли Windows.

Это мои попытки, но они не работают:

reload(sys)
sys.setdefaultencoding('utf-8')

print os.popen('chcp 65001').read()

sys.stdout.encoding = 'cp65001'

Возможно, вы можете использовать win32console, чтобы изменить кодовую страницу? Я пробовал код с сайта, на который я ссылался, но он также ошибался из win32console .. возможно, этот код устарел.

Вот мой код, который не содержит ошибок, но печатает забавные символы:

#coding=<utf8>
import os
import sys
import codecs



reload(sys)
sys.setdefaultencoding('utf-8')
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
sys.stderr = codecs.getwriter('utf8')(sys.stderr)

#print os.popen('chcp 65001').read()
print(sys.stdout.encoding)
sys.stdout.encoding = 'cp65001'
print(sys.stdout.encoding)

x = raw_input('press enter to continue')

a = 'こんにちは世界'#.decode('utf8')
print a

x = raw_input()

Ответы на вопрос(4)

Ваш ответ на вопрос