Python未正确排序Unicode

Python未正确排序Unicode,python,Python,我得到: data = [unicode('č', "cp1250"), unicode('d', "cp1250"), unicode('a', "cp1250")] data.sort(key=unicode.lower) for x in range(0,len(data)): print data[x].encode("cp1250") A. D č 应该是: a d č A. č D 斯洛文尼亚字母表是这样的:一个b cčd e f g

我得到:

data = [unicode('č', "cp1250"),
        unicode('d', "cp1250"),
        unicode('a', "cp1250")]

data.sort(key=unicode.lower) 

for x in range(0,len(data)):
    print data[x].encode("cp1250")
A. D č 应该是:

a d č A. č D 斯洛文尼亚字母表是这样的:一个b cčd e f g


我使用的是WinXP(活动代码页:852-斯洛文尼亚)。您能帮助我吗?

请参阅
区域设置
模块以进行语言感知排序。特别是strcoll和strxfrm的功能。

我解决了这个问题,现在有了一个工作程序:

a č d
完全重复:我知道这是一个老问题,但在Python2.7.3上它不适用于我。我得到:aćčaa ab c d
import locale
locale.setlocale(locale.LC_ALL, 'slovenian')
data = ['č', 'ab', 'aa', 'a', 'd', 'ć', 'B', 'c']
data.sort(key=locale.strxfrm)
print "Sorted..."
for x in range(0,len(data)):
    print data[x]