在使用cx_Oracle模块读取Oracle数据库中的中文记录时,返回值皆为?,后google得此佳文,遂问题得以解决,特此记之。 


Oracle数据库版本是10g,字符集是AL32UTF8. 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。


编写的python脚本中需要加入如下几句:

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

这样可以保证select出来的中文显示没有问题。 

 

要能够正常的insert和update中文,还需要指定python源文件的字符集编码和Oracle一致。

# -*- coding: utf-8 -*- 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄