Python MySQLdb 使用utf-8 编码插入中文数据

时间:2023-01-05 09:46:52

Python MySQLdb 使用utf-8 编码插入中文数据

用Python的MySQLdb插入UTF-8编码的内容时经常会出问题,主要是Mysql数据库编码和python程序文档编码两个方面。本文旨在提供一个例子来解决Python插入UTF8中文数据的问题

使用环境:
Python 2.7 for Windows
MySQLdb 1.2.2 for Python 2.5
MySQL 5.7

源代码如下:

#!/usr/bin/env python
#coding=utf-8

import MySQLdb

#connect to DB
conn = MySQLdb.connect(host="localhost",user="root",passwd="1234",db="mydb", charset="utf8")
curs = conn.cursor()

curs.execute("SET NAMES utf8")
curs.execute("SET CHARACTER_SET_CLIENT=utf8")
curs.execute("SET CHARACTER_SET_RESULTS=utf8")
conn.commit()

strVal = "广州"
strSql = "INSERT INTO t1( val ) values( '%s' )" % strVal
ret = curs.execute(strSql)
conn.commit()


curs.close()
conn.close()