[转]python的mysql中文编码
来源:互联网 发布:李小龙 命理 知乎 编辑:程序博客网 时间:2024/04/30 21:35
到google搜到很多关于python里mysql编码的问题,逐一试用,却并不是那么有效,还是看到一大堆乱码。
解决方案无非就是把python的代码的开头编码用utf-8,打开数据库连接的时候也用charset='utf8',还搞什么sys.setdefaultencoding('gbk'),mysql的my.cnf配置文件里面配置为utf-8。等等之类的东西,无效,插入中文还是乱码,就是插到数据库里面,直接看数据库里的中文都是编码,或者是????什么的。
没办法了,只能自己把问题简单化,mysql的默认编码为latin1,关键容易报错的地方是cursor.execute里要执行一下encode(charset),既然这里要encode,那就在外面先decode一下,果然
sql = "insert into aa values('测试')"
sql = sql.decode('latin1')
再执行
cursor.execute(sql)
这样就解决问题了,中文插入,中文显示,在数据库直接查看也是中文。
不需要搞那么复杂,还去改my.cnf文件,又去sys.reload(),打开数据库还要设charset,通通不需要弄。
解决方案无非就是把python的代码的开头编码用utf-8,打开数据库连接的时候也用charset='utf8',还搞什么sys.setdefaultencoding('gbk'),mysql的my.cnf配置文件里面配置为utf-8。等等之类的东西,无效,插入中文还是乱码,就是插到数据库里面,直接看数据库里的中文都是编码,或者是????什么的。
没办法了,只能自己把问题简单化,mysql的默认编码为latin1,关键容易报错的地方是cursor.execute里要执行一下encode(charset),既然这里要encode,那就在外面先decode一下,果然
sql = "insert into aa values('测试')"
sql = sql.decode('latin1')
再执行
cursor.execute(sql)
这样就解决问题了,中文插入,中文显示,在数据库直接查看也是中文。
不需要搞那么复杂,还去改my.cnf文件,又去sys.reload(),打开数据库还要设charset,通通不需要弄。
- [转]python的mysql中文编码
- python mysql中文编码
- Python & MySQL中文编码问题
- Python的中文编码
- python+mysql 操作数据库出现的中文编码问题
- python与mysql连接的中文编码(在notepad++)
- python操作mysql中的中文编码问题
- python的中文编码问题
- python的中文编码问题
- Python的中文编码问题
- python中文编码的问题
- Python 中文编码的问题
- Python的中文编码问题
- Python的中文编码处理
- python的编码处理和中文编码
- MySQL中文编码的问题
- Python环境编码与MySQL中文编码操作
- 【python】python的中文编码问题
- Advanced.Defrag.v6.6.0.1.Incl.Keygen-MESMERiZE
- hdu 1052 Tian Ji -- The Horse Racing 贪心算法
- 模板类的声明和定义中分离.h与.cpp
- 我们不用开浏览器也能上BBS——带你体验telnet的魅力(zz) (转载)
- Ubuntu查询软件安装情况 - 错误排解
- [转]python的mysql中文编码
- Antlr简介
- Action中方法的要求
- 大型网站架构基本问题
- Ubuntu 12.04系统环境利用USB下载程序到TQ2440开发板
- 用Python发送邮件
- Ombrophobic Bovines POJ 2391
- 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装
- BT5中安装VMWare Tool的相关命令