Python 2.7 で使用する.lower()と、文字列が文字の小文字に変換されませんŠČŽ。辞書からデータを読み取ります。
str(tt["code"]).lower()、を使ってみtt["code"].lower()ました。
助言がありますか ?
Python 2.7 で使用する.lower()と、文字列が文字の小文字に変換されませんŠČŽ。辞書からデータを読み取ります。
str(tt["code"]).lower()、を使ってみtt["code"].lower()ました。
助言がありますか ?
Unicode 文字列を使用します。
drostie@signy:~$ python
Python 2.7.2+ (default, Oct 4 2011, 20:06:09)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "ŠČŽ"
ŠČŽ
>>> print "ŠČŽ".lower()
ŠČŽ
>>> print u"ŠČŽ".lower()
ščž
少し見えuますか?つまり、unicodeオブジェクトではなくオブジェクトとして作成されstrます。
ユニコードを使用:
>>> print u'ŠČŽ'.lower().encode('utf8')
ščž
>>>
単に問題に気付いた時点ではなく、テキストが外部からプログラムに入るとすぐに、テキストを Unicode に変換する必要があります。
したがって、codecsモジュールを使用してデコードされたテキストを読み取るか、 'bytestring'.decode('latin2')(latin2 の代わりに実際のエンコーディングを使用する必要があります) を使用します。