python插入数据时乱码_python向数据库插入中文乱码问题

本文介绍了在使用Python连接MySQL数据库时遇到的中文乱码问题及本地连接错误。通过设置charset参数为'utf8'确保数据库连接的字符集,并在创建表时也使用UTF8编码。此外,当出现MysqlError2002错误时,可以添加'unix_socket'参数指定MySQL的socket文件路径来解决问题。
摘要由CSDN通过智能技术生成

1、python向数据库插入中文乱码问题

直接手动insert into 中文 不乱码,但是用程序跑起来就乱码。

conn =MySQLdb.connect(host="127.0.0.1",user="nimei",passwd="nimei",db="nimei",charset="utf8")

加入charset="utf8" 这个参数。

当然,创建表的时候,也要utf8,还有navigat 那里 数据库属性 utf8

create table stock(id varchar(10) PRIMARY KEY,name varchar(20),opening_price varchar(10),last_day_closed_price varchar(10),now_price varchar(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、Mysql Error 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

加入unix_socket='/tmp/mysql.sock' 这个参数

conn=MySQLdb.connect(

host='localhost',

port= 3306,

user='root',

passwd='admin',

db='python',

charset="utf8",

unix_socket='/tmp/mysql.sock',

)

cur=conn.cursor()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值