ODBC/OPENQUERY 无法正确转换特殊字符/ASCII 并出错

问题描述 投票:0回答:1

我正在使用 Microsoft SQL Server 2019 15.0.2104.1 通过 ODBC/OPENQUERY 查询 IBM Informix Dynamic Server 版本 12.10.FC5XT 数据库。

当任何字段包含特殊字符时,我会遇到问题 ODBC 错误地解释字符编码,无法将其转换为有效的字符或字符集,并导致崩溃/错误。错误可能有所不同,最新的错误未能将 '(•ˋ _ ˊ•)' 解释为特殊字符,而是尝试将其转换为 datetime2 对象

其他错误各不相同,而且是零星的。

我的问题是我需要不断查询此表中的一些内容(每分钟几次),并且该表包含许多可自由文本编辑的字段,并且特殊字符是一个持续的问题(不要问我为什么) .

我不久前试图纠正这个问题,并陷入了 ODBC 和 Informix 之间的区域编码的兔子洞并尝试匹配它们,但没有成功。

还有其他人遇到过这个问题吗?如果有,你能解决吗?

sql odbc informix
1个回答
0
投票

@user2722968 的评论解决了我的问题,如果其他人也遇到同样的问题

标识符等不是数据库区域设置编码的一部分,而是 odbc 编码本身的一部分。找到您的 odbc.ini(例如使用 odbcinst -j)并尝试在(可能是新创建的)[ODBC] 部分下添加 UNICODE=UCS-2。这应该让 odbc 驱动程序相信它本身需要宽字符编码。

© www.soinside.com 2019 - 2024. All rights reserved.