2016-04-12 18 views
0

nicht dekodieren Ich verwende Django und Ajax, um Daten in eine HTML-Tabelle mit jQuery und JSON zu drucken.UnicodeDecodeError: 'utf8' Codec kann Byte

Es funktionierte, bis neue Daten kam und hatte "ú@ñ" Art von Zeichen und ich bekam: UnicodeDecodeError: 'utf8' codec can't decode byte 0xf9 in position 4: invalid start byte

Ich habe gelesen und versucht, viele verschiedene mögliche Gründe und es funktioniert immer noch nicht.

Ich habe versucht:

  • Speicher meine Datei in UTF-8 in Sublime Text und mit einer Datei -bi Meinedat ich noch text/x-Python erhalten; charset = us-ascii
  • # -*- encoding: utf-8 -*- am Anfang meiner views.py
  • Wechsel MySQL charset charset = utf8mb4 von charset = latin1
  • json.dumps (Liste (Zeilen), default = datetime_handler) verwenden, content_type = „application/json“ encoding = ‚utf-8‘)

ich eher mit .decode vermeiden würde() für jede Zeichenfolge in meinen Daten, aber wenn es keine andere Lösung gibt, ist es, was ich habe machen.

Antwort

1

- Codierung: utf-8

Ändert sich nur Codierung der Quelldatei, das heißt, Sie Variablen/Kommentare unter Verwendung von Nicht-ASCII-Zeichen definieren.

können Sie versuchen,

json.dumps(..., ensure_ascii=False, encoding="ISO-8859-1")

+0

Dank zu verwenden, habe ich versucht, aber es funktioniert auch nicht, ich immer noch die gleichen Fehler. –

+0

Es scheint, dass utf-8 nicht in den Daten verwendet werden kann, die Sie haben, versuchen Sie, json.dumps hinzuzufügen (..., ensure_ascii = False, Codierung = "ISO-8859-1") –

+0

Ich werde versuchen und wiederkommen, Vielen Dank! –

Verwandte Themen