python insert插入mysql 中文字符报错 及mysql编码介绍
发布日期:2021-05-06 21:08:28 浏览次数:14 分类:原创文章

本文共 1174 字,大约阅读时间需要 3 分钟。

Python代码连接mysql数据库执行mysql语句 插入带有中文字符的语句 

报错内容如下:  

  cur.execute(sql)
  File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 181, in execute
    query = query.encode(db.unicode_literal.charset)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 952-954: ordinal not in range(256)
2020-07-21 11:23:47,644 - exec_make.py:134 - Exception Logged
Traceback (most recent call last):
  File "exec_make.py", line 127, in Exch_insert
    cur.execute(sql)
  File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 181, in execute
    query = query.encode(db.unicode_literal.charset)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 952-954: ordinal not in range(256)
 

 

处理办法:

0、python代码 默认编码 utf-8

1、插入的中文前面加上前缀  u 声明utf编码

insert  "name": u"中文"

2、在插入执行的语句前面执行一下语句

conn = connectMysql()
cur = conn.cursor()

conn.set_character_set('utf8')
cur.execute('SET NAMES utf8;')
cur.execute('SET CHARACTER SET utf8;')
cur.execute('SET character_set_connection=utf8;')
cur.execute(sql)

解决OK!

【mysql编码介绍】
1、编码 encode编码  decode解码
utf-8是unicode实现的方法之一  Unicode 是「字符集」UTF-8 是「编码规则」
字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point)
编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)

 

 

 

上一篇:软件开发人员面试过程中需要注意的几点
下一篇:mysql 1.检索数据 不要where 也可以

发表评论

最新留言

不错!
[***.144.177.141]2025年04月09日 22时13分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

快速构建SpringBoot工程 2019-03-04
SpringBoot配置之配置文件分类 2019-03-04
Vue中使用v-for不能用index作为key值 2019-03-04
position: fixed如何相对父元素定位 2019-03-04
SecureCRT注册机 2019-03-04
供应商解决了mini-LED的生产问题 新款MBP蓄势待发? 2019-03-04
new对象实际是在干嘛,懂了后String相关面试题随便推导 2019-03-04
Spring中@EnableCaching如何集成redis 2019-03-04
爱了!Alibaba技术官甩出的SpringCloud笔记,GitHub已标星81.6k 2019-03-04
菜鸟程序员,被无良HR欺骗,因祸得福,竟“意外”拿下美团offer 2019-03-04
已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有 2019-03-04
吓我一跳?看了线程和线程池的对比,才知道池化技术到底有多牛 2019-03-04
给公司妹子讲了好久,头都大了,一个SQL语句是如何执行的? 2019-03-04
阿里大牛手撕SpringBoot,Cloud,Nginx与Docker,你凭什么搞不懂 2019-03-04
结局已定,一点不慌,秋招京东三面,给了意料之中的20KOffer。 2019-03-04
Java开发5年的我偶然被几条朋友圈打击,成功点燃,别说了,不去阿里对不起自己! 2019-03-04
面试清单(Java岗):算法+Spring+中间件+设计模式+Java+JVM+数据库 2019-03-04
凭借这份pdf,安卓顺利转行Java,成功4面拿下美团offer 2019-03-04
团体程序设计天梯赛-练习集 L1-006 连续因子 (20分) 2019-03-04
编程技巧妙用 2019-03-04