我有 Oracle 11 数据库,我使用 JDBC 和 ODBC 连接到该数据库。 JDBC 运行良好,但在 ODBC 中所有波兰字母都在SELECT
结果更改为拉丁语等效项,例如ą
-> a
, Ó
-> O
等等。我用我的应用程序和简单的Python程序测试了它,该程序使用odbc
模块。来自数据库的相同值返回为:
ZAMOŚĆ - by JDBC
ZAMOSC - by ODBC
我的环境:
数据库服务器:Oracle Database 11g 版本 11.2.0.1.0 - 64 位生产版
客户端机器:
- Windows Server 2008 R2 64 位
- 32 位和 64 位版本的 Oracle 客户端位于:
c:\Oracle\Ora1120_32bit
and c:\Oracle\Ora1120_64bit
- ODBC 管理器报告 Oracle 驱动程序版本为:11.02.00.01
我认为所有区域设置都设置为波兰/波兰语,但它们不可见
经过SET
命令行实用程序。
有人知道什么 ODBC 或环境设置负责将波兰字母翻译成拉丁字母吗?
我怀疑客户端字符集的值在这两种情况下并不相同。您可以检查 NLS_LANG 设置的值吗:
- 由于您使用的是 Windows,因此应该在注册表中进行设置(可能是 HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> YOUR_HOME -> NLS_LANG)
- 您发现这并不能解决您的问题,但是添加环境变量 NLS_LANG 确实有效!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)