python unicodedecodeerror utf8_Python:UnicodeDecodeError:'utf8'

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

Please, any idea how to fix it?

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

解决方案

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).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值