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

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

x = raw_input() 

PYTHON 2.6在Windows 7如何在windows的控制檯上打印日語utf-8?

它會在沒有任何錯誤怠速運轉。

但是,當從控制檯運行時,它出錯並且閃爍很快,我無法讀取錯誤消息。 它如何在Windows控制檯中完成?

順便說一下,用西班牙語或葡萄牙語等其他語言來做這件事情會很好。這是像日語,俄語,希臘語,希伯來語這樣的語言在Windows控制檯中具有此錯誤行爲。

*編輯 的要求我改變了這種代碼:

#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() 

它會打印: CP437

然後當然,請繼續閃光燈和失敗的解碼位...

它看起來像popen('chcp 65001')不能改變代碼頁。 我仍然不認爲這是問題的根源,但是知道更改此代碼頁的有效方法會有所幫助。

+0

在該腳本中,添加'import sys'和'print(sys.stdout.encoding)'。請發佈結果。 – unutbu 2010-08-26 18:19:27

+0

Windows控制檯中可用的字體僅包含幾個腳本。 – 2010-08-26 19:49:28

+0

這是你自己的問題DUP http://stackoverflow.com/questions/3578685/how-to-display-utf-8-in-windows-console編輯原來的問題和它的標題;然後請求關閉此問題。負責 – OTZ 2010-08-27 04:16:27

回答

0

更新

沒關係。 OP正在使用Windows。

有趣的是,將編碼聲明更改爲#encoding=<utf8>在Ubuntu中不起作用。

原來的答案

這爲我工作(Ubuntu的Jaunty中,Python的2.6.2)。我做的唯一改變是在第一行聲明編碼。

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

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

x = raw_input() 
+0

是的,它看起來像你正在使用linux。它在Windows控制檯上出現錯誤。有幾種不同的方式來指定腳本的編碼,都是正確的。 – russo 2010-08-26 18:17:36

+0

雅,錯誤的意思是寫'編碼'而不是'編碼' 這裏是它說格式的頁面: http://www.python.org/dev/peps/pep-0263/ – russo 2010-08-26 18:31:15

+0

@russo:我沒有'不知道。謝謝。 – 2010-08-26 18:43:29

相關問題