当前位置: 首页 > 科技观察

操作Pythonoracle数据库时,中文查询报错_0

时间:2023-03-17 23:33:08 科技观察

在python中使用oracle数据库查询时,出现如下错误:UnicodeEncodeError:'ascii'codeccan'tencodecharactersinposition54-57:ordinalnotinrange(128)错误位置为在cur.execute(sql)中进行查询。因为编码的问题,一直在编码上折腾,加了各种断点。其实语句本身并没有乱码,而且由于使用的python3.x默认已经是utf-8编码,所以应该不会出现这样的问题。.各种查,试了各种网上改编码的方法。.***我发现搜索方法不对..******终于找到了。是oracle的环境变量没有配置。windows下可以参考:添加变量名:NLS_LANG添加变量值:SIMPLIFIEDCHINESE_CHINA.UTF8Mac下可以直接添加到数据库运行文件的最前面,为oracle设置字符集。importosos.environ['NLS_LANG']='SIMPLIFIEDCHINESE_CHINA.UTF8'大功告成!!