Oracle ODBC:为什么在 SELECT 结果中将国家字符更改为等效的拉丁字符
我有 Oracle 11 数据库,我使用 JDBC 和 ODBC 连接到该数据库。 JDBC 运行良好,但在 ODBC 中,SELECT
结果中的所有波兰字母都更改为等效的拉丁字母,例如 ą
-> a
,Ó
-> O
等。我用我的应用程序和使用 odbc
模块的简单 Python 程序对其进行了测试。数据库返回的值相同:
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
和c:\Oracle\Ora1120_64bit
- ODBC 管理器报告 Oracle 驱动程序版本为:11.02.00.01
我认为所有区域设置都设置为波兰/波兰,但它们是不可见 通过SET
命令行实用程序。
有人知道什么 ODBC 或环境设置负责将波兰字母翻译成拉丁字母吗?
I have Oracle 11 database to which I connect using both JDBC and ODBC. JDBC works well, but in ODBC all Polish letters in SELECT
result are changed to Latin equivalent, for example ą
-> a
, Ó
-> O
etc. I tested it with my application and simple Python program that uses odbc
module. The same value from database is returned as:
ZAMOŚĆ - by JDBC
ZAMOSC - by ODBC
My environment:
DB server: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
Client machine:
- Windows Server 2008 R2 64 bit
- Oracle clients in 32 bit and 64 bit versions in:
c:\Oracle\Ora1120_32bit
andc:\Oracle\Ora1120_64bit
- ODBC manager reports Oracle driver version as: 11.02.00.01
I think that all locales are set to Poland/Polish, but they are not visible
by SET
command line utility.
Anybody knows what ODBC or environment setting is responsible for translation of Polish letters into Latin equivalents?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑客户端字符集的值在这两种情况下并不相同。你能检查你的 NLS_LANG 设置的值吗:
I suspect the value of the client character set is not the same in both cases. Can you check the value of your NLS_LANG setting: