Python论坛  - 讨论区

标题:请教个mysql插入中文字符的问题!!

2011年01月16日 星期日 23:55

问题大概可以描述如下:

str1="中文"

str2="english"

t1=(str1,str1)

t2=(str2,str2)

#执行mysql插入时

cur.execute('INSERT INTO mytable VALUES(%s,%s)',t1) #报错

cur.execute('INSERT INTO mytable VALUES(%s,%s)',t2) #正确

问题:中文的要怎么插入?

还请高手指点一下。

补充:

mysql字符集设为GBK,

str1="中文".decode("utf8").encode("gbk")

依然解决不了问题。

 

 

2011年01月17日 星期一 00:09

str = u"中文".encode("gbk")

2011年01月17日 星期一 00:15

菜菜

你这跟我上面的差不多吧。

依然不行啊。。。

 

 

2011年01月17日 星期一 10:54

请问你import的是mysql的那个库?我在用sqlalchemy的时候,创建引擎的时候是可以指定数据库编码的

1.检查数据库引擎是否为gbk编码(建议采用通用的utf-8编码)

2.检查python头文件是否指定文件编码方式为gbk

如:# -*- coding:gbk -*- 或者 # coding=gbk

3.检查数据库链接对象的charset是否设置为gbk

如: db = MySQLdb.connect(host.......,charset="gbk")

4.对select出来的值进行print一下或者type一下值,查看其类型 

 

多检查一下每个环节的编码问题,应该不难解决,祝成功 。。。

 

 

 

2011年01月17日 星期一 12:13

编码还确实麻烦,不同的系统也不一样。就是需要你在python终端测试,哪种可以通过

2011年01月17日 星期一 21:57

多谢各位关注。

问题解决。

关键是 连接 mysql时也要设字符集为GBK.

2011年01月17日 星期一 22:09

鼓掌~

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

    你的回复:

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

    Zeuux © 2024

    京ICP备05028076号