2007年01月09日 星期二 18:03
原来在利用java和mysql交互的时候碰到类似的问题。我的解决办法是把文字内容用binary()方式来存储。检索的时候也用binary()方式。 不过由于text和blob不不支持binary(),所以这个办法在字段不大的情况下比较适合。 <mikegaulmail-python在yahoo.com.cn> : 直接搜索肯定是会需要的。所以不能用base64编码的方式来做。我看了python-mysql的部分源代码(没有全看懂),不过发现为什么它非要取mysql默认的编码方式呢,搞不懂。PHP就简单多了,什么都不问,直接存进去就好了。原来是什么就是什么。 --- "Zoom.Quiet" <zoom.quiet在gmail.com>写道: > On 1/9/07, mikegaulmail-python在yahoo.com.cn > <mikegaulmail-python在yahoo.com.cn> wrote: > > > google了很久,发现针对utf8字符集的问题,没有很好的解决办法,不知道是不是我没有搜索到。 > > > > 我遇到的情况是这样的,我感觉好像好多人都是这样: > > > > > mysql3.x,用的是latin1字符集,而我现在要存储的数据是utf8的,又不能修改mysql的默认字符集,又不能象mysql4.1那样指定一个。怎么办呢? > > > > > 目前我的办法是修改了cursors.py中的一些内容,从而能够自己指定,但是,造成了无法使用execute()的第二个参数。 > > > > > 有没有什么比较好的办法解决呢?不要改数据库配置,不要改python-mysql的脚本。我实在没有办法了。只能高人指点迷津。 > > > 如果没有DB 直接搜索的要求的话, > 我的经验是使用base64 编码提交给DB! > 这样Python 这边正常使用utf-8 只是DB 中存储的都是 > base64 编码过后的latin1 字串, > 使用和提取或是显示时都没有问题的 > > > > > > > > > > > ___________________________________________________________
Zeuux © 2025
京ICP备05028076号