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

开发 后端 Oracle
python中使用oracle数据库进行查询时,出现下面的错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128) 错误定位是在cur.execute(sql)进行查询的这句。

[[211621]]

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

  1. 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下可以参考:

 

添加变量名:NLS_LANG

添加变量值:SIMPLIFIED CHINESE_CHINA.UTF8

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

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

 

 

大功告成!! 

责任编辑:庞桂玉 来源: 36大数据
相关推荐

2012-07-23 14:30:33

Oracle

2009-02-09 12:52:32

文件加密Oracle数据库

2009-04-22 14:19:32

Oracle中文索引基础

2010-10-26 15:21:11

连接Oracle数据库

2011-08-02 17:06:29

Oracle远程数据库创建DB Link

2023-04-27 09:36:43

2009-11-18 16:16:51

Oracle数据库

2010-10-27 17:11:35

oracle查询

2011-08-04 17:07:09

Oracle数据库dmp文件

2010-10-28 16:46:23

查询Oracle数据库

2010-05-05 15:45:52

Oracle数据库

2010-04-27 10:39:59

Oracle数据库

2009-12-14 16:00:32

Ruby操作Oracl

2011-07-05 18:11:13

Qt 数据库

2010-03-30 18:48:24

Oracle 学习

2011-03-01 16:30:55

Oracle

2011-08-16 16:37:40

Oracle数据库树形查询根节点

2010-04-07 17:45:22

Oracle位图索引

2011-03-11 16:25:53

Oracle数据库

2009-08-10 18:05:19

C#数据库查询
点赞
收藏

51CTO技术栈公众号