您现在的位置是:亿华云 > 系统运维

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

亿华云2025-10-03 18:19:41【系统运维】8人已围观

简介python中使用oracle数据库进行查询时,出现下面的错误:UnicodeEncodeError:asciicodeccantencodecharactersinposition54-57:ord

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

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

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

因为提示编码问题,作时中文一直在折腾编码,查询各种断点加下来,报错其实语句本身并没有发生乱码,数据而且因为使用的库操python3.x,云服务器默认已经是作时中文utf-8编码,不该出现这样的查询问题啊。。报错

各种查,数据把网上各种改编码的库操方法试了一下遍。。作时中文

***发现搜索方式不对..***的云南idc服务商查询***终于找到了,是报错oracle的一个环境变量没有配。

windows下可以参考:

添加变量名:NLS_LANG

添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8

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

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

大功告成!! 

亿华云

很赞哦!(2)