0

MySQL ワークベンチから次の値を返すデータベースにクエリを実行しています。

ヴィトリア ダ コンキスタ

次のように表示されます。

ヴィトリア・ダ・コンキスタ

何を試しても、「Vit\xc3\xb3ria da Conquista」を「Vitória da Conquista」に変換できません。

#Querying MySQL "world" database
print "====================================="
query = 'select name from city where id=283;'
cursor.execute(query)
cities = cursor.fetchall()
print cities
for city in cities:     
    cs = str(city)
    cs = cs[3:-3].decode('utf-8')
    print cs
    print cs.decode('utf-8')
    print cs.encode('ascii','ignore')

出力は次のようになります。

=====================================
[(u'Vit\xc3\xb3ria da Conquista',)]
Vit\xc3\xb3ria da Conquista
Vit\xc3\xb3ria da Conquista
Vit\xc3\xb3ria da Conquista
4

3 に答える 3

1

さて、これは実際に機能しました。理由はわかりませんが。しかし、 Vitória da Conquistaの正しい値を取得しています。しかし、何が起こっているのかを理解したいと思います。

#Querying MySQL "world" database
query = 'SELECT CONVERT(CAST(Name as BINARY) USING utf8) from city where id = 283;'
cursor.execute(query)
cities = cursor.fetchall()
for tup in cities:     
    cs=tup[0]
    print cs
于 2013-04-29T05:56:11.750 に答える