python sqlobject(mysql)中文乱码解决方法


Posted in Python onNovember 14, 2008

UnicodeEncodeError: 'latin-1' codec can't encode characters in position;
找了一天终于搞明白了,默认情况下,mysql连接的编码是latin-1,你需要指定使用什么编码方式:
connectionForURI(mysql://user:password@localhost:3306/eflow?use_unicode=1&charset=utf8)

Python mysql 中文乱码 的解决方法,有需要的朋友不妨看看。
 
先来看一段代码:

import MySQLdb
db_user = "tiger"

db_pw = "tiger"

db = MySQLdb.connect(host="localhost", user=db_user, passwd=db_pw ,db="finaltldw",charset="gb2312")

c = db.cursor()

c.execute("""select id, name from NODES""")

i=0;

for id, name in c.fetchall():

 print "%2d %s" % (id, name)

 i=i+1

 if i==100:

 break

返回结果:

1 TOP

2 教育

3 机构

4 人

5 地区

6 单位

7 科学研究

8 实验室

9 类型

如果编码是UTF-8

转载一个解决方案: 其中的use db

Python操作MySQL以及中文乱码的问题

Python操作MySQL需要安装Python-MySQL

可以从网上搜索一下,和一般的Python包一样安装

安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,

不过又发现了烦人的乱麻问题,最后用了几个办法,解决了!

我用了下面几个措施,保证MySQL的输出没有乱麻:

1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)

2 MySQL数据库charset=utf-8

3 Python连接MySQL是加上参数 charset=utf8

4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)

mysql_test.py 

#encoding=utf-8
import sys

import MySQLdb



reload(sys)

sys.setdefaultencoding('utf-8')



db=MySQLdb.connect(user='root',charset='utf8')

cur=db.cursor()

cur.execute('use mydb')

cur.execute('select * from mytb limit 100')



f=file("/home/user/work/tem.txt",'w')



for i in cur.fetchall():

 f.write(str(i))

 f.write(" ")



f.close()

cur.close()

上面是linux上的脚本,windows下运行正常!

注:MySQL的配置文件设置也必须配置成utf8

设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/my.cnf):

[client]

default-character-set = utf8

[mysqld]

default-character-set = utf8

Python 相关文章推荐
Python中的yield浅析
Jun 16 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
Python实现包含min函数的栈
Apr 29 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
详解python-图像处理(映射变换)
Mar 22 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python转码问题的解决方法
Oct 07 #Python
Python函数学习笔记
Oct 07 #Python
Python日期操作学习笔记
Oct 07 #Python
wxPython 入门教程
Oct 07 #Python
新手该如何学python怎么学好python?
Oct 07 #Python
Python 调用VC++的动态链接库(DLL)
Sep 06 #Python
Python urlopen 使用小示例
Sep 06 #Python
You might like
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php简单的会话类代码
2011/08/08 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
javascript document.referrer 用法
2009/04/30 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
python实现图片处理和特征提取详解
2017/11/13 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
Python while true实现爬虫定时任务
2020/06/08 Python
pytorch SENet实现案例
2020/06/24 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
经典英文广告词
2014/03/18 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
2015年学校财务工作总结
2015/05/19 职场文书