ich hab Probleme mit den Umlauten beim Auslesen aus einer Datenbank mit dem MysqlDB Modul.
Folgendes ist eingestellt:
Datenbank hat latin1_bin
Daten wurden mit diesem Python Script eingefügt (vorgabe, Zeichensatz: ANSI, hab das Array All_o aber ein bisschen wegen Übersichtlichkeit gekürzt):
Code: Alles auswählen
# coding=latin-1
import MySQLdb
All_o = [
["Baden-Württemberg"
,["Basel (Schweiz)", "Basel Badischer Bahnhof"]
,["Heidelberg", "Heidelberg Karlstor"]
,["Kappel-Gutachbrücke", "Bahnhof Kappel-Gutachbrücke"]
,["Karlsruhe", "Karlsruhe Hauptbahnhof"]
,["Mannheim", "Mannheimer Hauptbahnhof"]
,["Offenburg", "Bahnhof Offenburg"]
,["Schorndorf", "Bahnhof Schorndorf"]
,["St. Georgen im Schwarzwald", "Bahnhof Sankt Georgen im Schwarzwald"]
,["Stuttgart", "Stuttgart Hauptbahnhof"]
,["Süßen", "Bahnhof Süßen"]
,["Tuttlingen", "Bahnhof Tuttlingen"]
],["Bayern"
,["Allersberg", "Bahnhof Allersberg (Rothsee)"]
,["Aschaffenburg", "Aschaffenburg Hbf"]
,["Augsburg", "Augsburg Hbf"]
,["Bayerisch Eisenstein", "Bahnhof Bayerisch Eisenstein"]
,["Coburg", "Bahnhof Coburg, Bahnhöfe in Coburg"]
,["Fürth", "Fürth (Bay) Hbf"]
,["Hof (Saale)", "Hof Hbf"]
,["Marktredwitz", "Bahnhof Marktredwitz"]
,["Ismaning", "Bahnhof Ismaning"]
,["Kinding", "Bahnhof Kinding (Altmühltal)"]
,["München", "München Hbf"]
,["Nürnberg", "Nürnberg Hbf"]
,["Passau", "Passau Hbf"]
,["Plattling", "Bahnhof Plattling"]
,["Postbauer-Heng", "Bahnhof Postbauer-Heng"]
,["Regensburg", "Regensburg Hbf"]
,["Würzburg", "Würzburg Hbf"]
,["Zwiesel", "Bahnhof Zwiesel"]
]
]
Database_o = MySQLdb.connect(user="root", passwd="", db="web2008")
Cursor_o = Database_o.cursor()
for LRow in All_o:
Land_s = LRow[0]
for SRow in LRow[1:]:
Cmd_s = "INSERT INTO bahnhoefe (bundesland, stadt, bahnhof) VALUES ('"+Land_s+"', '"+SRow[0]+"', '"+SRow[1]+"')"
Cursor_o.execute(Cmd_s)
Database_o.commit()
Jetzt will ich die Daten wie folgt auslesen:
Code: Alles auswählen
db=_mysql.connect("localhost","root","","web2008")
db.query("SELECT bundesland FROM bahnhoefe group by bundesland;")
res=db.use_result()
rows=res.fetch_row(99)
arr_json = '['
for row in range(len(rows)):
print type(rows[row])
if row>0:
arr_json += ',"%s"'%rows[row]
else:
arr_json += '"%s"'%rows[row]
arr_json += ']'
return arr_json
Was muss ich jetzt einstellen damit die Umlaute angezeigt werden?
Das Datenbankencoding auf UTF-8 einstellen? Oder mache ich da was beim Auslesen falsch?