当我们在使用 Python 连接 MySQL 时,有时候会遇到中文显示乱码的问题。这个问题比较常见,但是只要我们正确设置编码,就能轻松解决。下面就是详细的解决方法:
步骤一:创建数据库时设置字符集
创建数据库时要设置字符集为 utf8mb4,以保证支持所有的中文字符。示例代码如下:
CREATE DATABASE IF NOT EXISTS mydatabase DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
步骤二:连接数据库时设置编码
使用 pymysql 连接 MySQL 数据库时,设置 charset 为 utf8mb4,示例代码如下:
import pymysql
db = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='mydatabase', charset='utf8mb4')
cursor = db.cursor()
步骤三:插入中文字符时指定编码
在插入中文字符时,要指定编码为 utf8mb4。示例代码如下:
sql = "INSERT INTO student (name) VALUES (%s)"
name = "李四"
cursor.execute(sql, (name.encode('utf8mb4'),))
db.commit()
步骤四:查询中文字符时指定格式
在查询中文字符时,要指定格式为 utf8mb4。示例代码如下:
sql = "SELECT name FROM student WHERE id = %s"
id = 1
cursor.execute(sql, id)
result = cursor.fetchone()
if result:
print(result[0].decode('utf8mb4'))
以上就是 Python 操作 MySQL 中文显示乱码的解决方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作mysql中文显示乱码的解决方法 - Python技术站