Python oracle数据库操作时,中文查询报错

网友投稿 1626 2023-05-05

Python ***数据库操作时,中文查询报错

Python ***数据库操作时,中文查询报错

python中使用***数据库进行查询时,出现下面的错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128)

错误定位是在cur.execute(sql)进行查询的这句。

因为提示编码问题,一直在折腾编码,各种断点加下来,其实语句本身并没有发生乱码,而且因为使用的python3.x,默认已经是utf-8编码,不该出现这样的问题啊。。

各种查,把网上各种改编码的方法试了一下遍。。

***发现搜索方式不对..***的***终于找到了,是***的一个环境变量没有配。

windows下可以参考:

添加变量名:NLS_LANG

添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8

Mac下可以直接在数据库操作的文件顶部添加,给***设置字符集。

import os  os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

大功告成!!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL高并发优化,性能调优要这么来~
下一篇:必看干货 | Oracle常见的等待事件说明(上)
相关文章