确保以下几点,就不会有乱码问题,字符集统一采用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 ## 连接时声明 cnx = mysql.connect(host="localhost",port="3306",user="root",charset='utf8') cur=cnx.cursor() ## 连接后声明 cur.execute("SET NAMES utf8") ... cnx.commit() cur.close() cnx.close()
其他语言(如PHP),出现问题应该也是如此,备忘!
推荐学习《python教程》。