使用python 2.7:

>myCity = 'Isparta'
>myCity.lower()
>'isparta'
#-should be-
>'ısparta'

尝试了一些解码(例如,myCity.decode(“utf-8”)。lower()),但找不到执行该操作的方法。

如何降低这种字母? (“I”>“ı”,“İ”>“i”等)

编辑:在土耳其语中,“I”的小写字母是“ı”。 “i”的大写字母为“İ”

最佳答案

有些人建议使用tr_TR.utf8语言环境。至少在Ubuntu上,也许与this bug有关,设置此语言环境不会产生所需的结果:

import locale
locale.setlocale(locale.LC_ALL, 'tr_TR.utf8')

myCity = u'Isparta İsparta'
print(myCity.lower())
# isparta isparta

因此,如果此错误影响到您,作为一种解决方法,您可以自己执行此翻译:
lower_map = {
    ord(u'I'): u'ı',
    ord(u'İ'): u'i',
    }

myCity = u'Isparta İsparta'
lowerCity = myCity.translate(lower_map)
print(lowerCity)
# ısparta isparta

打印
ısparta isparta

10-08 01:52