Python 写入 Mysql 乱码问题

[ 2017-04-21 08:59:21 | 作者: admin ]
字号: | |
#encoding=utf-8
  
import sys
import MySQLdb as mdb
  
reload(sys)
sys.setdefaultencoding('utf-8')
 

确保以下几点,就不会有乱码问题,字符集统一采用UTF-8:
1 . 表的默认字符集是否为UTF-8,使用类似如下的SQL语句:
CREATE TABLE IF NOT EXISTS name(
         id INTEGER PRIMARY KEY AUTO_INCREMENT,
         prop VARCHAR(50),
         ...
)
DEFAULT CHARSET = UTF8;

2 . 字段内容来源为文本文件的,确保源文件编码为UTF-8,否则转码
3 . 字段内容来源为程序文件本身的,确保程序文件编码为UTF-8,否则转码
4 . 声明Mysql客户端使用的字符集为UTF-8,有2种声明方法:
import mysql.connector as mysql
## 连接时声明
conn= mysql.connect(host="localhost",port="3306",user="root",charset='utf8')
cursor=conn.cursor()
## 连接后声明
cursor.execute("SET NAMES utf8")

...

cursor.commit()
cursor.close()
conn.close()
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2401

这篇日志没有评论。

此日志不可发表评论。