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

发布时间:2025-05-21 19:57:40 作者:益华网络 来源:undefined 浏览量(3) 点赞(4)
摘要:python中使用oracle数据库进行查询时,出现下面的错误: UnicodeEncodeError:asciicodeccantencodecharactersinposition54-57:ordinalnotinrange(128) 错误定位是在cur.execute(sql)进行查询的这句

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

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

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

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

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

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

windows下可以参考:

添加变量名:NLS_LANG

添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8

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

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

大功告成!! 

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!