gpt4 book ai didi

python - 在cx_Oracle/UnicodeDecodeError中设置查询结果编码为汉字

转载 作者:太空狗 更新时间:2023-10-29 21:43:32 24 4
gpt4 key购买 nike

我正在处理一个包含大量汉字的数据库。我的代码是这样的:

connection = cx_Oracle.connect("%s/%s@%s:%s/%s" % (username, password, host, port, service_name))
cursor = connection.cursor()
cursor.execute('SELECT HOTEL_ID,CREATE_TIME,SOURCE,CONTENT,TITLE,RATE,UPDATE_TIME FROM T_FX_COMMENTS')

for row in cursor:
# Stuff goes here
pass

但是我得到这个错误:

Traceback (most recent call last):
File "test.py", line 17, in <module>
for row in cursor:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 26: illegal multibyte sequence

看来GBK还不够。 我想让cx-oracle给我GB18030编码结果,而不是GBK。我该怎么做?

cx_Oracle.Connection.encoding是只读的...我没有在 cx-oracle 文档中找到任何建议我可以执行此操作的内容。

我使用的是 Python 3.3.2 和 cx-oracle 5.1.2。这里一定有我想念的东西。感谢您的帮助!

最佳答案

我遇到了同样的问题,我通过将环境变量 NLS_LANG 设置为 .AL32UTF8 来解决(这似乎是一种“通配符”,表示“使用 utf- 8 对于任何语言")

关于python - 在cx_Oracle/UnicodeDecodeError中设置查询结果编码为汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18266906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com