Python oracle数据库操作时,中文查询报错 - 大数据技术参考_大数据技术文献_大数据趋势分析
当前位置:技术分享 > 技术参考 > 正文

Python oracle数据库操作时,中文查询报错2017-11-29 14:14:29 | 编辑:hely | 查看: | 评论:0

作者:Ge__python中使用oracle数据库进行查询时,出现下面的错误:UnicodeEncodeError: & 39;ascii& 39; codec can& 39;t encode char
作者:Ge__

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

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

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

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

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

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

windows下可以参考:

 

\

 

环境变量.png

添加变量名:NLS_LANG
添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8

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

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

大功告成!!

上一篇:高并发“热点”缓存数据快速“退火” 基于 Python 的 Scrapy 爬虫入门:代码详解下一篇:

公众平台

搜索"raincent"或扫描下面的二维码