kzen.dev
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
Dipak Ingole
Dipak Ingole
Question

UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte

Používam skripty Python-2.6 CGI, ale pri vykonávaní json.dumps() som našiel túto chybu v logu servera,

Traceback (most recent call last):
  File "/etc/mongodb/server/cgi-bin/getstats.py", line 135, in <module>
    print json.dumps(​​__get​data())
  File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte

Tu ,

__getdata() funkcia vracia slovník {} .

Pred odoslaním tejto otázky som sa odvolal na toto otázky os SO.


AKTUALIZÁCIE

Nasledujúci riadok poškodzuje kodér JSON,

now = datetime.datetime.now()
now = datetime.datetime.strftime(now, '%Y-%m-%dT%H:%M:%S.%fZ')
print json.dumps({'current_time': now}) // this is the culprit

Mám na to dočasnú opravu

print json.dumps( {'old_time': now.encode('ISO-8859-1').strip() })

Ale nie som si istý, či je to správny spôsob.

132 2014-03-06T05:47:37+00:00 3
 Community
Community
Edited question 23 máj 2017 в 12:34
Programovanie
python
json
Popular videos
UnicodeDecodeError: &#39;utf-8&#39; codec can&#39;t decode byte 0xff in position 0: invalid start byte
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
pred 2 rokmi
PYTHON : UnicodeDecodeError: &#39;utf8&#39; codec can&#39;t decode byte 0xa5 in position 0: invalid start byte
PYTHON : UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte
pred rokom
Solved - UnicodeDecodeError: &#39;charmap&#39; codec can&#39;t decode byte 0x9d
Solved - UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d
pred 3 rokmi
importing csv file using jupyter notebook UTF-8 problem, solved!!!
importing csv file using jupyter notebook UTF-8 problem, solved!!!
pred 2 rokmi
Python PANDAS - Como resolver UnicodeDecodeError
Python PANDAS - Como resolver UnicodeDecodeError
pred rokom
Fix Python Error: Unicode unicodeescape codec can&#39;t decode bytes in position truncated | Amit Thinks
Fix Python Error: Unicode unicodeescape codec can't decode bytes in position truncated | Amit Thinks
pred rokom
Unicode error in read any file/ unicode error in read_csv in jupytor
Unicode error in read any file/ unicode error in read_csv in jupytor
pred 3 rokmi
Unicode Error &quot;unicodeescape&quot; codec can&#39;t decode bytes… Cannot open text files in Python 3
Unicode Error "unicodeescape" codec can't decode bytes… Cannot open text files in Python 3
pred 2 rokmi
(SOLVED) (unicode error) unicodeescape codec can&#39;t decode bytes in position 2-3: truncated \UXXXXXXX
(SOLVED) (unicode error) unicodeescape codec can't decode bytes in position 2-3: truncated \UXXXXXXX
pred 2 rokmi
ClipRaster UnicodeDecodeError explanation
ClipRaster UnicodeDecodeError explanation
pred 2 rokmi
CSV Encoding to UTF-8 format
CSV Encoding to UTF-8 format
pred 5 rokmi
How to Fix Invalid Byte Sequences in UTF-8
How to Fix Invalid Byte Sequences in UTF-8
pred 3 rokmi
How to fix : SyntaxError: (unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 2-3
How to fix : SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3
pred rokom
Characters in a computer - Unicode Tutorial UTF-8 (3/3)
Characters in a computer - Unicode Tutorial UTF-8 (3/3)
pred 9 rokmi
How to solve UTF8 invalid byte sequence copy errors on a restore, when the source database is...
How to solve UTF8 invalid byte sequence copy errors on a restore, when the source database is...
pred rokom
« Predchádzajúci
Ďalšie »
This question has 1 odpoveď in English, to read them log in to your account.
Solution / Answer
Santosh Ghimire
Santosh Ghimire
6 marec 2014 в 6:28
2014-03-06T06:28:53+00:00
Viac na
Zdroj
Upraviť
#23902811

Chyba je spôsobená tým, že v slovníku sa nachádza nejaký znak, ktorý nie je v ascii a nie je možné ho zakódovať/dekódovať. Jedným z jednoduchých spôsobov, ako sa vyhnúť tejto chybe, je zakódovať takéto reťazce pomocou funkcie encode() nasledovne (ak a je reťazec s neascii znakom):

a.encode('utf-8').strip()
Jean-Francois T.
Jean-Francois T.
Edited answer 3 marec 2017 в 5:31
71
0
 HimalayanCoder
HimalayanCoder
9 február 2015 в 12:23
2015-02-09T12:23:28+00:00
Viac na
Zdroj
Upraviť
#23902813

Nastavenie predvoleného kodéra v hornej časti kódu

import sys
reload(sys)
sys.setdefaultencoding("ISO-8859-1")
15
0
Dipak Ingole
Dipak Ingole
19 marec 2014 в 10:23
2014-03-19T10:23:35+00:00
Viac na
Zdroj
Upraviť
#23902812

Nasledujúci riadok bolí kodér JSON,

now = datetime.datetime.now()
now = datetime.datetime.strftime(now, '%Y-%m-%dT%H:%M:%S.%fZ')
print json.dumps({'current_time': now}) // this is the culprit

Mám na to dočasnú opravu

print json.dumps( {'old_time': now.encode('ISO-8859-1').strip() })

Označenie tohto ako správne ako dočasná oprava (Nie som si istý, že áno).

6
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
bran Bran
Registered pred 12 hodinami
2
Олечка Арапова
Registered pred 18 hodinami
3
Роман Азаров
Registered pred týždňom
4
Mansur Zakirov
Registered pred týždňom
5
Тагир Мамедов
Registered pred 2 týždňami
DE
EL
ES
FR
ID
IT
NL
PT
RO
RU
SK
TR
ZH
© kzen.dev 2023
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora