estoy usando Python 2.6 en Windows 7Cómo mostrar UTF-8 en la consola de Windows
Tomé prestado algo de código a partir de aquí: Python, Unicode, and the Windows console
Mi objetivo es ser capaz de muestra cadenas de Uft-8 en la consola de Windows.
Apparantly en Python 2.6, el sys.setdefaultencoding
()
ya no es compatible
Sin embargo, me escribió recarga (sys) antes de que intentara utilizarlo y mágicamente no cometió ningún error.
Este código NO tendrá errores, pero muestra caracteres divertidos en lugar de texto japonés. Creo que el problema se debe a que no he cambiado correctamente la página de códigos de la consola de Windows.
Estos son mis intentos, pero que no funcionan:
reload(sys)
sys.setdefaultencoding('utf-8')
print os.popen('chcp 65001').read()
sys.stdout.encoding = 'cp65001'
Tal vez se puede utilizar win32console para cambiar la página de códigos? Probé el código del sitio web que conecté, pero también tuve errores en win32console ... tal vez ese código sea obsoleto.
Aquí está mi código, que no error, pero imprime caracteres extraños:
#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()
No olvides prefijar cadenas Unicode con 'u' – mbomb007