Python:UnicodeDecodeError:'utf8'

时间:2017-06-03 19:43:47

标签: python postgresql python-2.7 python-unicode

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

2-30 milliseconds

我已添加此行,但无效!

POSTGRESQL -  ENCODING = 'LATIN1'

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

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

请知道如何修复它?

@Edit:

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

1 个答案:

答案 0 :(得分:1)

要检查的第一件事是你的“重音字母”是否属于LATIN1集 - 例如,á确实如此,但ś却没有。如果没有,你真的应该在PostgreSQL中使用UTF8编码(无论如何它可能更安全)。