cx_Oracle在US7ASCII编码如何正常使用中文字符?
问题描述
在开发过程中使用cx_Oracle对设置为us7ascii字符集的ORACLE数据库进行访问时,发现查询条件不能包含中文字符且查询输出也没办法正常显示中文
代码及数据表样本
数据表样本:
no | name | status | date |
---|---|---|---|
1 | apple | 已上架 | 20171203 |
2 | pear | 已上架 | 20171203 |
3 | banana | 已售磬 | 20171203 |
代码
# -*- coding:utf-8 -*-import sys
import os
import cx_Oracle
ip=''
port=''
tnsname=''
os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.US7ASCII'
str_dsn = cx_Oracle.makedsn(ip,port,tnsname)
conn = cx_Oracle.connect(user='123',password='123',dsn=str_dsn)
cur = conn.cursor()
data = cur.execute("select status from YW_DATA where date like '20171203'")
res = data.fetchone()[0] #报错位置
print(one)
报错信息
data.fetchone()[0]UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in position 0: ordinal not in range(128)
期间我已根据度娘的解决方法修改NLS_LANG为ZHS16GBK,UTF8等编码都没有办法正常读取,请问大牛们有什么方法可以解决这个问题?
回答:
手机版不好打字,只好把自己的文档截图了
回答:
请问问题解决了吗?可以传授给我吗。
以上是 cx_Oracle在US7ASCII编码如何正常使用中文字符? 的全部内容, 来源链接: utcz.com/a/156544.html