Python论坛  - 讨论区

标题:[python-chinese] mysql字符集的老问题,好像一直没有很好的解决

2007年01月09日 星期二 18:03

phenix bnuzhengbin在163.com
星期二 一月 9 18:03:44 HKT 2007

原来在利用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 字串,
> 使用和提取或是显示时都没有问题的
> >
> >
> >
> >
> >
>
___________________________________________________________

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号