Python调用MySQLdb插入中文乱码的问题
2012-05-14 11:24
330 查看
#!/usr/bin/python # -*- coding: utf-8 -*- import MySQLdb def main(): fullname = "赵钱孙李" conn = MySQLdb.connect(host='localhost', user='root',passwd='123', db='account', charset='utf8') # OK #conn = MySQLdb.connect(host='localhost', user='root',passwd='123', db='account') # Error!!! cursor = conn.cursor() cursor.execute("insert into account (username,password) values ('%s','%s')" % (fullname, "111")) conn.commit() cursor.close() conn.close() if __name__ == "__main__": main()
如果从终端查询到数据库中的中文是乱码,那么在连接时给出charset参数即可(当然数据库和表必须全部都是utf-8的)。
否则默认插入的字符应该是latin-1的(用fullname.decode('utf8')时报该错误)。
然后将从数据库中读取的中文输出到网页,如果没有任何内容显示,加入以下代码可解决:
import sys reload(sys) sys.setdefaultencoding('utf-8')Python内部处理编码默认是ascii的: print sys.getdefaultencoding()
相关文章推荐
- Python调用MySQLdb插入中文乱码的问题
- python mysqldb 查询数据,中文乱码问题
- Python mysqldb 操作mysql出现中文乱码问题
- python向数据库插入中文乱码问题
- MySQLdb中文乱码问题的解决(Python)
- Python使用SQLAlchemy,并且解决了插入中文乱码问题
- Python中使用MySQLdb插入数据中文及变量问题
- Python插入时中文乱码问题的解决办法
- 【Python】Mysql中文乱码问题与MySQLdb对Mysql操作类的改进
- python往mysql中插入数据时,中文乱码的问题
- python使用MySQLdb写数据库时中文乱码问题
- Python MySQLdb 使用utf-8 编码插入中文数据问题
- python通过 MySQLdb插入中文乱码
- python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决
- MySQL插入表数据中文乱码问题解决方案
- Java_通过PreparedStatement往MySql数据库插入中文出现'?'乱码问题解决;
- Java向MySQL数据库插入中文数据乱码问题
- python 中文乱码问题深入分析
- python新手必碰到的问题---encode与decode,中文乱码
- python 控制台输出中文乱码问题