近期在使用cx_oracle获取字符集为US7ASCII的数据库中的中文时乱码

def getdata(lang):
    os.environ['NLS_LANG'] = lang
    userpwd = "ustest"
    dsn =cx_Oracle.makedsn("192.168.159.130",1521,sid="ustest")
    connection = cx_Oracle.connect("ustest",userpwd,dsn,encoding='US-ASCII',nencoding = "US-ASCII")
    cursor = connection.cursor()
    sql = """select name from students"""

    cursor.execute(sql)

    Datas=cursor.fetchall()
    name=Datas[-1][0]
    setp1 = name.encode('unicode_escape').decode('gb2312')
    print('setp1%s'%setp1)
    t = type(name)    
    print(Datas)
    print(name ,t)
    cursor.close()
    connection.close() 
if __name__ == "__main__":
    getdata(lang='AMERICAN_AMERICA.US7ASCII')
如果按上面的代码执行时会报Datas=cursor.fetchall()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)

如果将encoding='US-ASCII',nencoding = "US-ASCII"改为utf-8则中文乱码
setp1\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
[('???',), ('??',), ('3F3F',), ('������',)]
������

改成gbk,ISO-8859-1也一样
这里的nls_lang也与服务器端设置的一致。求大佬帮忙