2010-08-26 7 views
0
#coding=<utf8> 
import os 
os.popen('chcp 65001') 

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

x = raw_input() 

PYTHON 2.6 sur Windows 7Comment imprimer japonais utf-8 sur la console dans les fenêtres?

Il fonctionnera en IDLE sans erreur. Cependant, lorsqu'il est exécuté à partir de la console, il se met à clignoter et clignote très rapidement et je ne peux pas lire le message d'erreur. Comment cela peut-il être fait dans la console Windows? D'ailleurs, faire ceci avec d'autres langues comme l'espagnol ou le portugais fonctionnera bien. C'est les langues comme le japonais, le russe, le grec, l'hébreu qui ont ce comportement d'erreur dans la console de Windows.

* EDIT comme demandé je l'ai changé à ce code:

#coding=<utf8> 
import os, sys 
os.popen('chcp 65001') 

print(sys.stdout.encoding) 
x = raw_input('press enter to continue') 

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

x = raw_input() 

Il imprimera: CP437

puis bien sûr, continuer à clignoter et échouer sur le bit de décodage ...

Il semble que le fichier popen ('chcp 65001') ne fonctionne pas en changeant la page de code. Je ne pense toujours pas que ce soit la racine du problème, mais il serait utile de connaître un moyen efficace de changer cette page de code.

+0

Dans le script, ajoutez 'import sys' et' print (sys.stdout.encoding) '. S'il vous plaît poster le résultat. – unutbu

+0

Les polices disponibles dans les consoles Windows n'incluent que quelques scripts. –

+0

Ceci est un DUP de votre propre question http://stackoverflow.com/questions/3578685/how-to-display-utf-8-in-windows-console Modifier la question originale et son titre; puis demandez que cette question soit fermée. SOYEZ RESPONSABLE – OTZ

Répondre

0

Mise à jour

Peu importe. L'OP utilise Windows.

Il est intéressant de noter que la modification de la déclaration d'encodage en #encoding=<utf8> ne fonctionnait pas sous Ubuntu.

originale Réponse

Cela a fonctionné pour moi (Ubuntu Jaunty, Python 2.6.2). Le seul changement que j'ai fait était à la première ligne déclarant l'encodage.

# encoding: utf-8 
import os 
os.popen('chcp 65001') 

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

x = raw_input() 
+0

Oui, ça ressemble vous utilisez Linux. Il erreurs pour moi sur la console Windows. Il y a plusieurs façons de spécifier l'encodage du script, les deux sont corrects. – russo

+0

Ya, mistype destiné à écrire «codage» pas «encodage» Voici la page où il est dit le format: http://www.python.org/dev/peps/pep-0263/ – russo

+0

@russo: Je didn ' Je le sais. Merci. –

Questions connexes