cx_oracle链接'ascii' codec can't encode characters in position 136-139

问题:

python 使用 cx_Oracle连接数据库

oracle 'ascii' codec can't encode characters in position 136-139

解决

其实很简单
首先想到的python 的字符集问题,在:

在Python的Lib\site-packages文件夹下新建一个sitecustomize.py文件,内容为:#coding=utf8
import sysreload(sys)
sys.setdefaultencoding(‘utf8’)

这是python2处理方式
后打印查看字符集为 utf-8,没有问题。
发现是在cursor.execute执行时候报的错,考虑是客户端字符集的问题;。

用户环境变量增加 nls_lang:AMERICAN_AMERICA.ZHS16GBK
后解决问题。

其他

顺便记录cx_oracle环境配置:

1.下载cx_oracle

然后直接pip install xxxx 安装

2.下载instantclient-basic-windows.x64-11.2.0.4.0.zip

直接解压

3.配置环境变量

TNS_ADMIN +环境路径
NLS_LANG +z字符集
path +instantclient路径

你可能感兴趣的:(oracle,python)