Ich hole JSON mit Anfragen von einer API (mit Python 3.5) und wenn ich versuche, den JSON entweder zu drucken (oder zu verwenden) response.text, json.loads (...) oder response.json(), bekomme ich einen UnicodeEncodeError."UnicodeEncodeError: 'Ascii' Codec kann nicht Zeichen" in Python3 kodieren
print(response.text)
UnicodeEncodeError: 'ascii' codec can't encode character '\xc5' in position 676: ordinal not in range(128)
Die JSON enthält eine Reihe von Wörterbuch mit Ländernamen und einige von ihnen enthalten Sonderzeichen, zum Beispiel: (nur ein Wörterbuch in der binären Matrix zum Beispiel)
b'[{\n "name" : "\xc3\x85land Islands"\n}]
Ich habe keine Ahnung, warum Es gibt ein Codierungsproblem und auch warum "ascii" verwendet wird, wenn Requests eine UTF-8-Codierung erkennt (und sogar durch manuelle Einstellung auf UTF-8 nichts ändert).
Edit2: Das Problem war Microsoft Visual Studio Code 1.4. Es war nicht in der Lage, die Charaktere zu drucken.
Der Fehler besagt, dass das Zeichen nicht sein kann * codiert * mit ascii - was bedeutet, dass das Problem nicht den Text liest/entschlüsselt, sondern in Bytes kodiert (beim Drucken) – janbrohl
Mögliche Duplikate von [UnicodeEncodeError: 'ASCII Codec' kann das Zeichen u '\ xa0' nicht in Position 20 codieren: Ordnungszahl nicht im Bereich (128)] (http://stackoverflow.com/questions/994259 4/unicodeencodeerror-ascii-codec-cant-codieren-zeichen-u-xa0-in-position-20) –