xe1无法使用utf-8,utf-16编码进行解码。
>>> 'xe1'.depre('utf-8')Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:Python27libencodingsutf_8.py", line 16, in depre return precs.utf_8_depre(input, errors, True)UnipreDepreError: 'utf8' prec can't depre byte 0xe1 in position 0: unexpected end of data>>> 'xe1'.depre('utf-16')Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:Python27libencodingsutf_16.py", line 16, in depre return precs.utf_16_depre(input, errors, True)UnipreDepreError: 'utf16' prec can't depre byte 0xe1 in position 0: truncated data尝试latin-1编码:
>>> record = (5790, 'Vlv-Gate-Assy-Mdl-xe1M1-2-xe19/16-10K-BB Credit Memo ',...60, True, '40141613')>>> json.dumps(record, encoding='latin1')'[5790, "Vlv-Gate-Assy-Mdl-\u00e1M1-2-\u00e19/16-10K-BB Credit Memo ", 60, true, "40141613"]'
或者,指定
ensure_ascii=False,
json.dumps以使其
json.dumps不尝试解码字符串。
>>> json.dumps(record, ensure_ascii=False)'[5790, "Vlv-Gate-Assy-Mdl-xe1M1-2-xe19/16-10K-BB Credit Memo ", 60, true, "40141613"]'



