dict = {}
dict[u'Züge'] = 0
json.dumps(dict, file, ensure_ascii=false)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 2: ordinal not in range(128)
wie kann man das beheben?
ich möchte, dass man später im File das ü sieht!
JSON Umlaute
@nvidia11: Vielleicht zeigst Du erst einmal den tatsächlichen Quelltext mit dem dazu passenden kompletten Traceback. `dumps()` nimmt nämlich keine Datei als Argument und `false` dürfte einen `NameError` ergeben. Und ich *rate* jetzt mal dass das eigentliche Problem gar nicht vom `dumps()` kommt, sondern von dem Versuch eine Unicode-Zeichenkette mit ``print`` auszugeben ohne die vorher entsprechend dem zu kodieren was das Programm auf der anderen Seite erwartet. Das hätte dann nichts mit JSON zu tun.
Ja srry
Es liegt am OrderedDict!!
Mit einem normalen Dict funktioniert es ohne Fehler.
Code: Alles auswählen
# -*- coding: utf-8 -*-
import json
from collections import OrderedDict
fdata = OrderedDict()
fdata[u"Züge"] = 0#data
fdata[u"Bahnhöfe"] = 0#train_stations
with open("/Users/user/Desktop/Try/trains.json", "w") as outfile:
json.dump(fdata, outfile, indent=2, ensure_ascii=False)
Mit einem normalen Dict funktioniert es ohne Fehler.
Zuletzt geändert von Anonymous am Samstag 31. Januar 2015, 00:17, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Grund: Quelltext in Python-Code-Tags gesetzt.
-
- User
- Beiträge: 4
- Registriert: Montag 6. September 2021, 07:21
data_file = open('intents.json').read()
intents = json.loads(data_file)
Intents hat deutsche Umlaute und diese werden in meinem Chatbot nicht korrekt angezeigt.
Ich Danke für die Hilfe.
intents = json.loads(data_file)
Intents hat deutsche Umlaute und diese werden in meinem Chatbot nicht korrekt angezeigt.
Ich Danke für die Hilfe.
@smaligardezi: bitte mach für ein neues Thema einen neuen Thread auf.
Es handelt sich wahrscheinlich um ein Problem Deines Chatbots und nicht um ein JSON-Problem. Daher brauchen wir auch mehr Informationen und Code über Deinen Chatbot.
Dateien müssen auch wieder geschlossen werden, am besten mit Hilfe des with-Statements. Json-Dateien am besten binär öffnen, dann kümmert sich json um das Encoding. `load` statt `loads` benutzen:
Es handelt sich wahrscheinlich um ein Problem Deines Chatbots und nicht um ein JSON-Problem. Daher brauchen wir auch mehr Informationen und Code über Deinen Chatbot.
Dateien müssen auch wieder geschlossen werden, am besten mit Hilfe des with-Statements. Json-Dateien am besten binär öffnen, dann kümmert sich json um das Encoding. `load` statt `loads` benutzen:
Code: Alles auswählen
with open('intents.json', 'rb') as file:
intents = json.load(file)
-
- User
- Beiträge: 4
- Registriert: Montag 6. September 2021, 07:21
Das hat damit geklappt , ich bin sehr sehr echt Dankbar , nur zum lernen was ist 'rb' ?
rb steht für "richtig beeindruckend". In diesem Modus erhält open() gewisse Spezialfähigkeiten.
Sollte natürlich ein Scherz sein. Lies die Doku auf der Python-Webseite oder befrage deine Suchmaschine.
Sollte natürlich ein Scherz sein. Lies die Doku auf der Python-Webseite oder befrage deine Suchmaschine.