In Django, verwende ich einen externen Befehl für eine Abfrage gegen MySQL. Alles wird großartig, bis ich ein Feld mit utf-8 Zeichen (Art von Cami ó n) wiederherstellen. In diesem Punkt kann ich nicht mehr auf die queryset gehen und MySQL gibtEncoding ein Feld Ergebnis von einer Abfrage
'ascii' codec can't encode character u'\xf3' in position 34: ordinal not in range(128)
Mein Code ist der nächste:
cursor = connection.cursor()
query = "SELECT * FROM " + table_name + " ORDER BY " + "1"
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
result = []
for field in row:
print field
result += [str(field)]
Wie kann ich diese Situation zu vermeiden? Dank Mates ...
EDITED: Es funktioniert durch field = unicode(field).encode("utf-8", "replace")
Aufrufen und ersetzen der ursprünglichen Feldfolge für die nächste funktioniert ... field = Unicode (Feld) .encode ("utf-8", "ersetzen") –
Warum machst du das? Warum benutzt du keine Django-Modelle? –
Hahahaha ... wirklich lange Geschichte ... Ich werde fast verrückt versuchen, es zu lösen ... LOL –