用python连接Oracle是总是乱码,在fatux的百度博客里搜到这篇文章解决了我的问题。在此记录下来并表示感谢。
(字符集是AL32UTF8)
编写的python脚本中需要加入如下几句:
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
这样可以保证select出来的中文显示没有问题。
要能够正常的insert和update中文,还需要指定python源文件的字符集密码和oracle一致。
# -*- coding: utf-8 -*-
-------------------------------------------------------------------------------
例子:
# -*- coding: utf-8 -*-
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
import cx_Oracle
db = cx_Oracle.connect(username/passwd@host:port/sevicename)
cursor = db.cursor()
#其他操作
db.commit()
db.close()