Python でのキリル文字の比較に問題があります。ここに小さなテストケースがあります%
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def convert(text):
result = []
for i in xrange(len(text)):
if text[i].lower() == 'й':
result.append('q')
print result
if __name__ == '__main__':
convert('йцукенг')
最初の文字が条件の文字と等しくなければならないことは明らかです。しかし、条件は失敗し、結果は空です。
また、文字列全体 (テキスト) を印刷しようとするとうまくいきますが、文字 (text[2] など) だけを印刷しようとすると、「?」が表示されます。出力で。
問題はエンコーディングにあると確信していますが、どうすれば個別の文字を正しく比較できますか?