mysql插入中文的问题

深水:

我用mysql插入中文怎么老是报错呢


  File "C:\Python25\Lib\site-packages\MySQLdb\cursors.py", line 149, in execute
    query = query.encode(charset)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 115-127:
ordinal not in range(256)

好像是编码转换有问题?

zhaoweikid:

使用MySQLdb模块确实会经常遇到这个问题。
我的感觉是,因为你没有自定数据库编码,你可以这样试试,在创建连接的时候指定一下:

conn = MySQLdb.connect(host='localhost',user=mysqluser,passwd=mysqlpass,db=mysqldb, charset="gbk")

用最后那个 charset='gbk' 指定数据库使用gbk的编码