【转】python mysql数据库 'latin-1' codec can't encode character错误问题解决

UnicodeEncodeError: ‘latin-1‘ codec can‘t encode character

"UnicodeEncodeError:‘latin-1‘ codec can‘t encode character ..."

This is because MySQLdb normally tries to encode everythin to latin-1. This can be fixed by executing the following commands right after you‘ve etablished the connection:

db.set_character_set(‘utf8‘)
dbc.execute(‘SET NAMES utf8;‘) dbc.execute(‘SET CHARACTER SET utf8;‘)
dbc.execute(‘SET character_set_connection=utf8;‘)

"db" is the result of MySQLdb.connect, and "dbc" is the result of db.cursor().

意思就是MySQLdb正常情况下会尝试将所有的内容转为latin1字符集处理

所以处理方法就是,设置连接和游标的charset为你所希望的编码,如utf8

db是connection连接,dbc是数据库游标

http://stackoverflow.com/questions/3942888/unicodeencodeerror-latin-1-codec-cant-encode-character

【转】python mysql数据库 'latin-1' codec can't encode character错误问题解决

原文地址:https://www.cnblogs.com/jlf0103/p/9021092.html

时间: 2024-08-27 09:19:04

【转】python mysql数据库 'latin-1' codec can't encode character错误问题解决的相关文章

python写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法

在写入TXT文件时,某些页面总是报UnicodeEncodeError: 'gbk' codec can't encode character错误,网上找了半天也没找到解决办法. 后来终于找到了解决办法,十分简单:在f = open('英语练习.txt','a+',encoding='utf-8') 里加上encoding='utf-8'这个参数就行了. 出错的原因是网页及python的编码都是utf-8,在写进txt时Windows默认转码成gbk,遇到某些gbk不支持的字符就会报错. 在打开

python 编码问题:'ascii' codec can't encode characters in position 的解决方案

问题描述: Python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查询系统默认编码可以在解释器中输入以下命令: Python代码

Python Solve UnicodeEncodeError 'gbk' / 'ascii' / 'utf8' codec can't encode character '\x??' in position ? 解决有关Python编码的错误

在Python中,处理中文字符一直是很令人头痛的问题,一言不合就乱码,而且引起乱码的原因也不尽相同,有时候是python本身默认的编码器设置的不对,有时候是使用的IDE的解码器不对,还有的时候是终端terminal的解码器不对,有时候同一份代码在Python2上正常运行,Python3上就不行了,反正产生乱码的原因很多,这里就列举一些博主遇到过的一些错误及其解决方案: Error 1: UnicodeEncodeError: 'gbk' codec can't encode character

[python]UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

在windows下面编写python脚本,编码问题很严重. 将网络数据流写入文件时时,我们会遇到几个编码: 1: #encoding='XXX' 这里(也就是python文件第一行的内容)的编码是指该python脚本文件本身的编码,无关紧要.只要XXX和文件本身的编码相同就行了. 比如notepad++ "格式"菜单里面里可以设置各种编码,这时需要保证该菜单里设置的编码和encoding XXX相同就行了,不同的话会报错 2:网络数据流的编码 比如获取网页,那么网络数据流的编码就是网页

Python读取中文txt文件错误:UnicodeEncodeError: 'gbk' codec can't encode character

1 with open(file,'r') as f: 2 line=f.readline() 3 i=1 4 while line: 5 line=line.decode('utf-8') 6 print str(i)+": "+line7 line=f.readline() 8 i=i+1 用以上代码读取一个包含中文的txt文件时,在正确地读取并打印了六百多行之后,print str(i)+": "+line这一行报错: UnicodeEncodeError:

python报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 22-26: ordinal not in range(128)”问题解决

方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: Python代码  : # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') 此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需

Python 爬起数据时 'gbk' codec can't encode character '\xa0' 的问题

1.被这个问题折腾了一上午终于解决了,再网上看到有用  string.replace(u'\xa0',u' ') 替换成空格的,方法试了没用. 后来发现 要在open的时候加utf-8才解决问题. 以为就这样万事大吉了,运行又出现新问题了,爬去的内容是乱码,而源码是正常的,这不是怪了嘛,想想肯定是页面没用utf-8 把utf-8 加上之后,问题完美解决 Python 爬起数据时 'gbk' codec can't encode character '\xa0' 的问题

Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

一.使用workbook.get_sheet_by_name(name) 获取excel一个工作表时,发生字符集解析的错误. 网上搜集解决方案为添加以下三句: import sys reload(sys) sys.setdefaultencoding("utf8") Python 错误 UnicodeEncodeError: 'ascii' codec can't encode character 的解决方案

python:'ascii' codec can't encode character

python默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的, 此时需要自己设置python的默认编码,一般设置为utf8的编码格式. cat myutf8.py #添加如下内容,设置编码为utf8# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') python:'ascii' codec can't encode chara