令人绝望的 python 编码问题

软件和网站开发以及相关技术探讨
回复
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

令人绝望的 python 编码问题

#1

帖子 fanhe » 2011-05-09 23:51

sqlite3 保存的数据库的编码为 utf-8
python 的 sqlite3 运行的语句字符串必须为 unicode 编码
我由文件解析出来的字符串可能是gtk或者utf-8编码

都知道, 平时都是用utf-8编码
麻痹,现在我生成sql语句是需要 decode('utf-8'), 问题是,那个文本的编码可能是gbk, 强行decode就会出错

有啥办法把任何编码的文本自动转成unicode啊
烦死了
chardet只能作用于缓冲区, 怎么应用于字符串?
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 令人绝望的 python 编码问题

#2

帖子 fanhe » 2011-05-10 0:02

貌似搞错了, chardet 可以检测编码, 但是这样出错啊

代码: 全选

chardet.detect(u'中文')
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 令人绝望的 python 编码问题

#3

帖子 lilydjwg » 2011-05-10 0:09

用 Python 3 吧 用 Python 3 吧 用 Python 3 吧!

在写 GAE 程序,90% 的 500 错误都是编码问题引起的,代码里到处充斥着 encode 和 decode,烦死人了!
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 令人绝望的 python 编码问题

#4

帖子 fanhe » 2011-05-10 0:32

只能多加了一个检测分支
效率又下降了一些
没办法, 想要处理多种情况就要有增加开销的觉悟

项目完成之前不考虑python3
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 令人绝望的 python 编码问题

#5

帖子 lilydjwg » 2011-05-10 0:48

fanhe 写了:只能多加了一个检测分支
效率又下降了一些
没办法, 想要处理多种情况就要有增加开销的觉悟

项目完成之前不考虑python3
那你就继续忍受各种编码带来的问题和麻烦吧。
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
联系:

Re: 令人绝望的 python 编码问题

#6

帖子 racnil » 2011-05-10 1:14

codec??
codec.open()
SLAX and Xorg(without any Window Managers)
It's fun!
libertas
帖子: 239
注册时间: 2010-10-24 11:43

Re: 令人绝望的 python 编码问题

#7

帖子 libertas » 2011-08-23 11:43

为毛我做网站都不用考虑编码问题?
好像Django可以自动处理编码问题的吧。
回复