[转]SQLObject加MySQL的 utf-8解决之道
SQLObject加MySQL的 utf-8解决之道
软件技术
lhwork 发表于 2007-2-1 21:17:57
SQLObject对utf-8的支持一直为很多人所诟病,MySQL对utf-8的支持
在mysqlconnection.py中可以看到SQLObject连接MySQL时的一些细节,
__init__中支持额外的几个参数
- self.need_unicode = False
- for key in ("unix_socket", "init_command",
- "read_default_file", "read_default_group"):
- if key in kw:
- self.kw[key] = col.popKey(kw, key)
- for key in ("connect_timeout", "compress", "named_pipe", "use_unicode",
- "client_flag", "local_infile"):
- if key in kw:
- self.kw[key] = int(col.popKey(kw, key))
- if "charset" in kw:
- self.dbEncoding = self.kw["charset"] = col.popKey(kw, "charset")
- else:
- self.dbEncoding = None
- if "sqlobject_encoding" in kw:
- self.encoding = col.popKey(kw, "sqlobject_encoding")
- else:
- self.encoding = 'ascii'
- DBAPI.__init__(self, **kw)
其中的read_default_file和sqlobject_encoding会对SQLObject返回结果的编码产生
影响,
sqlobject_encoding 指明返回对象的编码
read_default_file 则指明连接时读取的客户端配置文件,不同平台该文件名字有可能
不一样,比如my.cnf或者my.ini
也就是说,使用MySQL时,需要支持utf-8的话,需要给连接字符串增加如下额外的参数:
sqlobject_encoding=utf-8&read_default_file=my.cnf
合起来便是:
- "mysql://username:password@host/db_name?sqlobject_encoding=utf-8&read_default_file=my.cnf"
之后SQLObject便会很好的处理来自MySQL的utf-8字符串了
当然不能忘了在my.ini中添加默认链接所使用的字符编码:
转载于:https://blog.51cto.com/axlrose/1294542
[转]SQLObject加MySQL的 utf-8解决之道相关推荐
- Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUI按钮与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Target Se ...
- MySQL导入中文乱码解决之道
数据库中文乱码一直是烦人的问题,网上解决方法很多,但各有出入,而且有人灵有人不灵.对于MySQL,我的解决方法如下: 1)改MySQL配置: 如:D:\Program Files\MySQL\MySQ ...
- Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决
2019独角兽企业重金招聘Python工程师标准>>> Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇[zz] 关键字:Struts H ...
- PHP+MYSQL 出现乱码的解决方法
使用PHP+MYSQL时遇到过字符乱问题 解决方法 在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES G ...
- mysql 执行计划 改变_数据量增加导致mysql执行计划改变解决_MySQL
bitsCN.com 数据量增加导致mysql执行计划改变解决 收到运维同学电话,mysql服务器连接数满了,登录服务器查看,确实满了,好吧,首先增加连接数到2500,暂时提供对外服务.连接继续升高, ...
- apmserv5.2.6 mysql启动失败_win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法...
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\ 2.去掉 ...
- MySQL RR隔离级别解决幻读问题?
首先,讲mysql的隔离级别之前需要复习一下事务的四个特性 (注:mysql存储引擎InnoDB)(待完善) 事务的四个特性(ACID): 原子性(Atomicity) 一致性(Consistency ...
- linux直接运行程序加载动态库失败,扣丁学堂Linux培训详解程序运行时加载动态库失败解决方法...
今天扣丁学堂Linux培训老师给大家介绍一下关于Linux程序运行时加载动态库失败的解决方法,希望对同学们学习有所帮助,下面我们一起来看一下吧. Linux下不能加载动态库问题 当出现下边异常情况 . ...
- win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\ 2.去 ...
最新文章
- 吴恩达老师深度学习视频课笔记:人脸识别
- LVM学习之LVM基础
- 三星mzvlb1t0hblr是什么固态_三星T7 Touch 1TB移动固态硬盘评测:新奇又安全的加密方式普及?...
- Jobs added with no trigger must be durable
- Mac下好用的批量文件扩展名修改工具
- css和JavaScript实现的星云动画效果
- 安装jenkins时出现 No such plugin: cloudbees-folder的解决办法
- PostCSS 以及 cssnext语法
- PolarDB for PostgreSQL 开源路线图
- leetcode - 1024. 视频拼接
- 通过Redis的Pub/Sub实现对服务器群的监控管理
- C# A potentially dangerous 问题解决
- 构建入门Restful Web服务
- Ping32文档加密软件有哪些特点
- 打印图片一直显示连接传真服务器,打印机打印时显示传真怎么办
- 转置矩阵(Transpose of a matrix)
- 德鲁克:卓有成效管理者的5项基本能力
- 什么是测试场景标准库?
- 手环的PCBA部分,主要包括一颗集成BLE功能的MCU,以及由MCU控制的各种外设
- SQL 压力测试实战