品易云推流 关闭
文章详情页
文章 > Python常见问题 > Python写入SQL乱码怎么解决

Python写入SQL乱码怎么解决

头像

silencement

2019-12-13 10:48:262426浏览 · 0收藏 · 0评论

确保以下几点,就不会有乱码问题,字符集统一采用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教程》。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图