我正在努力編寫一個使用某些unicode屬性的Python(2.7版)腳本。當我嘗試使用嵌入式語言環境包時,會出現問題。下面是我有問題的代碼片段:Unicode和區域設置問題
# -*- coding: utf-8 -*-
import datetime
import os
import locale
locale.setlocale(locale.LC_ALL, 'greek')
day = datetime.date.today()
dayFull = day.strftime('%A')
myString = u"ΚΑΛΗΜΕΡΑ"
print myString
print dayFull
雖然dayFull
打印當天的名字就好了。(希臘字母),myString
在控制檯作爲問號字符出來。我該如何解決它,有人可以在這裏指出我的錯誤嗎?
P.S.我的系統是Windows 7機器。
你的問題所在與Windows控制檯,它無法正確處理Unicode。請參見[Python,Unicode和Windows控制檯](http://stackoverflow.com/q/5419)。總之,這是控制檯代碼頁,用於呈現Unicode字形的字體和Python 2不能識別65001(微軟採用UTF-8)代碼頁之間的問題。 – 2013-03-23 17:06:44
@Bakuriu你爲什麼從這篇文章中刪除重要信息? – 2013-03-23 18:27:59
在我的電腦上,它完全失敗並出現UnicodeEncodeError錯誤。你使用什麼代碼頁?在命令提示符下鍵入'chcp'來查找。 – 2013-03-23 18:41:39