1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python读取Oracle数据乱码问题解决

Python读取Oracle数据乱码问题解决

时间:2019-02-01 18:34:53

相关推荐

Python读取Oracle数据乱码问题解决

【问题描述】

在使用Python读取Oracle中数据的时候,遇到了中文乱码的问题,简单举例如下:

import cx_Oracleimport pandas as pdconn = cx_Oracle.connect("xzw", "xzw", "192.16.10.21:1521/xzw")curs = conn.cursor()sql = "SELECT * FROM xzw"# 执行SQL语句curs.execute(sql)# 获取所有记录列表results = curs.fetchall()data = pd.DataFrame(results,columns=['id','name','pwd'])print(data)

读取到的内容name字段为乱码。

【解决办法】

首先使用如下语句在plsql中查询Oracle的编码:

SELECT USERENV('language') FROM dual;

使用os库将Python编码设置为与Oracle中的编码一致:

import cx_Oracleimport pandas as pdimport os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8'conn = cx_Oracle.connect("xzw", "xzw", "192.16.10.21:1521/xzw")curs = conn.cursor()sql = "SELECT * FROM xzw"# 执行SQL语句curs.execute(sql)# 获取所有记录列表results = curs.fetchall()data = pd.DataFrame(results,columns=['id','name','pwd'])print(data)

运行Python代码,得到结果如下:

至此,乱码问题已解决~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。