以下是我要做的:
我正在从cx_Oracle
中读取结果集,并使用python将其转换为json格式。
因此,我遇到的问题是,有一些非英语字符正在转换为字符串并将其转换为英语字符(例如,在我的案例中,"Luís"转换为"Luis")。有人能帮我解决这个问题吗?
以下是转换为json字典的代码片段
def __execute_select(sql, cursor, **kwargs):
cursor.execute(sql, **kwargs)
columns = [i[0] for i in cursor.description]
return [dict(zip(columns, row)) for row in cursor.fetchall()]
确保将NLS_LANG设置为支持要检索的字符的字符集。如果这不是问题所在,请提供SQL*Plus的输出、Python的等效输出以及正在使用的各种字符集。
是的,我玩了一些NLS_Lang
,我发现这个os.environ["NLS_LANG"] = ".AL32UTF8"
对我有效,然后我尝试用utf-8
解码,所以它有效。