Python: UnicodeDecodeError: 'utf8'

Python: UnicodeDecodeError: 'utf8'

我在保存重音字母时遇到问题。我正在使用 POSTGRESQL 和 Python 2.7

POSTGRESQL -  ENCODING = 'LATIN1'

我已经添加了这一行但是没有用!

#!/usr/bin/python
# -*- coding: UTF-8 -*-

有关错误消息的更多信息:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xed 

拜托,知道如何解决吗?

@编辑:

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'] 

这部分代码触发了错误。它正在回归口音..

ob['CITY'] = row[2]    

首先要检查的是您的 "accented letters" 是否属于 LATIN1 集 - 例如,á 属于,但 ś 不属于。如果不是,你真的应该在 PostgreSQL 中使用 UTF8 编码(无论如何它可能更安全)。