python-3.x - UnicodeDecodeError:“ascii”编解码器无法解码位置 10 中的字节 0xc5:序数不在范围内(128)从 DB2 表读取数据时
问题描述
使用 PYTHON 3.x 从 DB2 表读取数据时出现错误。
UnicodeDecodeError:“ascii”编解码器无法解码位置 10 中的字节 0xc5:序数不在范围内(128)
解决方案
默认情况下,Python 和您的 ODBC 驱动程序都在查看您在 Linux 中的语言环境设置以确定您的默认编码。
首先,如下设置您的区域设置:
export LC_ALL=C.UTF-8
其次,不要在 SQL 查询中使用字符串文字,而是使用参数:
例如,改变
c.execute("INSERT INTO table (data) VALUES ('non-ascii stuff')"
至
c.execute("INSERT INTO table (data) VALUES (?)", ['non-ascii stuff'])
推荐阅读
- python - Swagger-ui 中的参数排序
- c# - 在位置列出文件
- java - 为 DialogFlow Java API 的 QueryInput 上的 EventInput 添加参数
- python - 有没有办法用你喜欢的多个循环创建一个嵌套循环(python)?
- c# - 在我给出该指令之前,变量值会更新
- xml - 用 XML 表示深度嵌套的数据
- r - label_bquote() 不适用于 ggplot2 中的列分面
- docker - Docker 无法删除已经存在的网络
- macos - /etc/hosts 如何影响 Idea Mac 版 springboot 项目启动的时间成本?
- google-sheets - 谷歌电子表格,使用数组公式和日期之间的过滤器