PyMySQL库版本引起的python执行sql编码错误

这篇具有很好参考价值的文章主要介绍了PyMySQL库版本引起的python执行sql编码错误。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

长话短说,之前在A主机(centos7.9)上运行的py脚本拿到B主机上(centos7.9)运行报错:

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 265-266: ordinal not in range(256)

两个主机系统、python版本、pip版本都是相同的。但是在B主机执行py脚本时,报错指向的代码就是 sql 语句,sql语句也就是一串字符串啊;

py脚本是定时任务,使用pymysql库连接环境内的mysql执行sql,进行查询或插入;

测试解决

通过搜索报错信息,基本都指向了编码;
1、测试修改系统编码,没用;
2、查看、测试python默认编码,没用;
3、在python代码中添加转码;

sql = "SELECT mno,oper_time,substring_index from jijieie;"
new_sql = sql.encode('utf-8')

然后再调用游标执行sql

cursor_shengchan.execute(new_sql)

但是又出现了其他现象:有的python脚本可以正常运行了,又的还是不行,找不出规律;而且有的 sql语句(字符串)转码后成了字节流(字符串前面带个b),中文显示乱码;

解决

不知道从那里看了一眼版本的问题,突然想到遗漏了一个版本检查:python使用的库的版本;
对比了A、B两个主机上的 PyMySQL 库版本,发现了问题;
A主机上的PyMySQL版本是1.0.2
B主机上的PyMySQL版本是0.7

升级版本:

pip install --upgrade PyMySQL==1.0.2

升级完成后,脚本直接迁移过来,正常运行;
版本的坑是真坑;文章来源地址https://www.toymoban.com/news/detail-634323.html

到了这里,关于PyMySQL库版本引起的python执行sql编码错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Sql】sql server数据库提示:执行Transact-SQL语句或批处理时发生了异常。 无法打开数据库msdb,错误:926。

    【问题描述】 打开sql server2008r2数据库的时候, 系统提示执行Transact-SQL语句或批处理时发生了异常。 无法打开数据库msdb,错误:926。 【概念理解】 首先MSDB数据库是的作用: 用于给SQL Server代理提供必要的信息来运行调度警报、作业及记录操作。同时也会记录数据库的备份和

    2024年02月04日
    浏览(44)
  • 【Python】执行SQL报错

    可以再数据库查询界面执行的SQL,一直报错 SQL如下: \\\'Y\\\'那里前面是有%的,才想起来%在Python里是有特殊含义的字符,所以要用其他方式处理掉,比较简单的方法是用 \\\'%%\\\' 代替 \\\'%\\\',这样就是一个单纯的百分号了 正常执行成功!  

    2024年02月13日
    浏览(13)
  • 【REST2SQL】09 给Go的可执行文件exe加图标和版本信息等

    【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【REST2SQL】08 日志重构增加输出到文件

    2024年02月02日
    浏览(29)
  • SpringBoot版本升级引起的FileNotFoundException——WebMvcConfigurerAdapter.class

    最近公司项目要求JDK从8升到17,SpringBoot版本从2.x升级到3.x,期间遇到了一个诡异的 FileNotFoundException 异常,日志如下(敏感信息使用xxx脱敏) SpringBoot3.x已经删除了类 WebMvcConfigurerAdapter ,建议实现接口 WebMvcConfigurer 1. 查找当前项目中使用WebMvcConfigurerAdapter的地方 这个报错日志

    2024年02月15日
    浏览(21)
  • MySQL 8的MGR集群中设置autocommit=0引起ERROR 1064 (42000)错误

    在一套MySQL MGR集群测试环境中,同事测试时,在my.cnf参数文件中修改了autocommit参数(修改为autocommit=0),结果上周五,由于系统管理员要升级RHEL 8.8的系统补丁,所以将这这三台MySQL的数据库服务关闭了,升级完RHEL 8.8的系统补丁后,启动MySQL的集群时遇到了“ERROR 1192 (HY000)

    2024年02月09日
    浏览(37)
  • 由于 vscode 版本更新为 1.86.1引起的相关问题。

    通过vscode ssh来远程连接linux服务器的代码,由于vscode 1.86.1的更新,在连接服务器时就开始报 两个错误了:   Missing GLIBCXX = 3.4.25! Missing GLIBC = 2.28! lwd@192.168.66.148\\\'s password: 075b6e8e3a87: running Missing GLIBCXX = 3.4.25! Found versions 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.4.10 3.4.11 3.4.1

    2024年02月21日
    浏览(28)
  • react中使用shouldComponentUpdate生命周期函数调用setState引起的无限循环的错误

    在 React 组件中,当在 componentWillUpdate 或 componentDidUpdate 生命周期方法中调用 setState 时,会触发无限循环,导致超过最大更新深度。 在React组件中 ,我们使用componentWillUpdate 或 componentDidUpdate 生命周期方法中调用 setState 方法,但是调用seState会导致组件重新渲染 ,那么这个生命

    2024年02月12日
    浏览(30)
  • jQuery版本低引起的漏洞——CVE-2020-11022/CVE-2020-11023

    漏洞号: CVE-2020-11022 / CVE-2020-11023 影响范围:jQuery = 1.0.3 3.5.0 漏洞原理 见:jQuery最新xss漏洞分析——CVE-2020-11022/11023 - 云+社区 - 腾讯云 (tencent.com) 漏洞复现 https://vulnerabledoma.in/jquery_htmlPrefilter_xss.html 要想在项目本地实现,可把该html保存下来,修改script的src属性为项目引用j

    2023年04月26日
    浏览(30)
  • Django模板,Django中间件,ORM操作(pymysql + SQL语句),连接池,session和cookie, 缓存

    今日概要: 模板 中间件 ORM操作(pymysql + SQL语句) session和cookie 缓存(很多种方式) 请求周期 路由系统 最基本路由关系 动态路由(含正则) 路由分发不同的app中 + include + 本质 + name + namespace 视图 类和函数(FBV和CBV) 参数 request 请求数据 自定义数据 响应 其他知识 虚拟环

    2024年02月04日
    浏览(32)
  • Python中使用execjs执行JavaScript代码:方法与常见错误解决方案

     简介和背景:          execjs 库的作用和重要性是在Python中执行JavaScript代码。它允许开发者在Python环境下调用JavaScript逻辑和功能,从而实现Python与JavaScript之间的交互。通过 execjs ,Python开发者可以利用JavaScript的强大功能和现有库,拓展Python应用的能力,实现跨语言的灵

    2024年02月10日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包