我想打印一組Unicode字符到我的命令提示符終端。即使我強制編碼爲「UTF-8」,終端也會打印一些垃圾。打印unicode字符到標準輸出python打印錯誤的字形
$python -c "import sys; print sys.stdout.write(u'\u2044'.encode('UTF-8'))"
ΓüäNone
$python -c "import sys; print sys.stdout.encoding"
cp437
我的默認終端編碼是cp437,我試圖重寫。這裏預期的輸出是級分斜槓(/)
http://www.fileformat.info/info/unicode/char/2044/index.htm
的同一段代碼完美的作品在我的Mac終端,它使用UTF-8作爲默認編碼。有沒有辦法在Windows上顯示它?我在Windows命令提示符下使用的字體是consolas。
我希望我的代碼能夠處理任何Unicode字符,而不僅僅是這個特殊的例子,因爲輸入是一個Web查詢結果,我無法控制它。
有東西在我的後腦勺告訴我,UTF-8和Windows終端將無法輕鬆地工作 –
我已經接近後放棄通過這個bug http://bugs.python.org/issue1602 – Benny
你可以找到另一個終端程序來工作,而不是Windows的cmd或其他。我聽說可以安裝mingw並在那裏有一個半工作終端。 Otherwiser,只需安裝一個虛擬machinne併爲我們的開發工具建立一個合適的Linux環境。 – jsbueno