这unicodedata.normalize
可能对您有帮助。
基本上,如果您对来自db的数据进行规范化,并且将选择规范化为相同的形式,那么使用str.find
,str.__contains__
(即in
)str.index
和朋友时应该会得到更好的结果。
>>> u1 = chr(281)
>>> u2 = chr(101) + chr(808)
>>> print(u1, u2)
? e?
>>> u1 == u2
False
>>> unicodedata.normalize('NFC', u2) == u1
True
NFC代表“ 普通形式组合” 形式。您可以在这里阅读有关其他可能形式的一些说明。