Unicode和区域设置问题
我在写一个使用unicode特性的Python(2.7版)脚本时遇到了困难。问题出现在我尝试使用嵌入的locale包时。以下是我遇到问题的代码片段:
# -*- 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
在控制台中却显示为问号字符。我该如何解决这个问题,有人能指出我哪里出错了吗?
附注:我的系统是Windows 7。
1 个回答
3
在控制台中使用正确的希腊字符编码,同时选择一个支持希腊字符的字体,比如 Consolas
。我在 Windows 7 和 Python 2.7.3 中这样做是有效的:
C:\>chcp 1253
Active code page: 1253
C:\>python temp.py
ΚΑΛΗΜΕΡΑ
Σάββατο
顺便说一下,Python 3.3 在使用(同样是希腊字符的)737 编码时也能正常工作,但 Python 2.7 打印出来的结果是:
C:\>temp.py
????????
Σάββατο