dmPython连接达梦数据库,查询含有特殊字符报错'gbk' codec can't decode byte 0xaa in position 22: illegal multibyte sequence

发布时间 2023-04-04 10:12:57作者: fangzpa

在数据库可以正常查询出来这个特殊字符结果集

 Python 查询含有特殊字符报错

这种报错一般是数据库和应用字符集不一样导致, 查看数据库格式 SELECT SF_GET_UNICODE_FLAG() ,为GBK

 解决方法,可以在应用连接字符串url 连接属性加上local_code=1指定客户端字符编码方式。

#local_code=1 表示执行客户端的本地编码是UTF-8,否则默认是GBK
dm_conn = dmPython.connect(user=dm_user, password=dm_password, server='localhost', port=5236, local_code=1)