Python:UnicodeDecodeError:'utf8' [英] Python: UnicodeDecodeError: 'utf8'
本文介绍了Python:UnicodeDecodeError:'utf8'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在保存带重音字母时遇到问题。我正在使用POSTGRESQL和Python 2.7
I'm having problem to save accented letters. I'm using POSTGRESQL and Python 2.7
POSTGRESQL - ENCODING = 'LATIN1'
我已经添加了这一行,但是没有用!
I already added this line but does not worked!
#!/usr/bin/python
# -*- coding: UTF-8 -*-
有关错误消息的更多信息:
More about error message:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xed
请
@Edit:
cur = conn.cursor()
cur.execute("SELECT * FROM users")
rows = cur.fetchall()
obj_list = list()
for row in rows:
ob = dict()
ob['ID'] = row[0]
ob['NAME'] = row[1]
ob['CITY'] = row[2]
ob['USERNAME'] = row[3]
obj_list.append(ob)
# print obj_list
# sys.exit()
def add_object(ob, row):
ws.cell(column=3, row=row).value = ob['ID']
ws.cell(column=4, row=row).value = ob['NAME']
ws.cell(column=6, row=row).value = ob['CITY']
ws.cell(column=8, row=row).value = ob['USERNANE']
这部分代码正在触发错误。
This part of code is triggering the error. It's returning accent..
ob['CITY'] = row[2]
推荐答案
首先要检查的是您的重音字母是否属于LATIN1集-例如,á是否,但ś没有。如果不是这样,您确实应该在PostgreSQL中使用UTF8编码(无论如何它可能更安全)。
First thing to check is whether your "accented letters" belong to LATIN1 set - for example, á does, but ś doesn't. If not, you really should use UTF8 encoding in PostgreSQL (it is probably safer anyway).
这篇关于Python:UnicodeDecodeError:'utf8'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文