使用Python自己的locale
模块和str.upper()
方法时,'istanbul'.upper()
返回不正确的结果
>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'tr_TR.UTF-8')
>>> 'tr_TR.UTF-8'
>>> s1 = 'istanbul'
>>> s1.upper()
'ISTANBUL'
如果我安装并使用pyicu
,它将按预期工作
>>> from icu import Locale, UnicodeString
>>> tr = Locale('tr_TR.UTF-8')
>>> s2 = UnicodeString('istanbul')
>>> str(s2.toUpper(tr))
'İSTANBUL'
如何确保Python的内置模块和方法在给定的语言环境下正常工作
不幸的是,如果不使用软件包,就无法做到这一点。正如您所说,您可以使用
pyicu
,但如果您不想使用它,则可以对其进行硬编码:相关问题 更多 >
编程相关推荐