使用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