pyodbc 在 char 字段中返回二进制数据

pyodbc is returning binary data in char field

带有驱动程序“iSeries Access ODBC 驱动程序”的 pyodbc 正在返回二进制输出,例如:

原数据在table:B06300

它是什么 returns:b'\xc2\xf0\xf6\xf3\xf0\xf0@@@@@@@@@@@@@@@@@@@@@@'

我的代码:

import pyodbc
connection = pyodbc.connect(
    driver='{iSeries Access ODBC Driver}',
    System='**************',
    port = '****',
    uid='**************',
    pwd='**************')

df = pd.read_sql_query("SELECT * FROM schema_name.F4108")

我尝试将 add_output_converter 和编码器连接起来但没有成功

我怀疑问题是数据在服务器上定义为 CCSID 65535,这意味着不转换数据。

使用 TRANSLATE=1 连接字符串关键字将导致 ODBC 驱动程序使用作业的当前 EBCDIC CCSID 转换数据。可以在此处找到其他 ODBC 连接属性:https://www.ibm.com/docs/en/i/7.1?topic=keywords-connection-string-conversion-properties