将 Oracle 集合与瘦 JDBC 结合使用时的全球化问题
Posted
技术标签:
【中文标题】将 Oracle 集合与瘦 JDBC 结合使用时的全球化问题【英文标题】:Problems with globalization when using Oracle collections with thin JDBC 【发布时间】:2008-10-17 12:41:08 【问题描述】:总结问题:
-
当 DB 编码为 Western ISO 8859-2 时,在 Java 1.5 (JDBC) 中检索字符串可以正常工作
当切换到东欧 ISO(例如 ISO 8859-5)时,所有正常的 JDBC 字符串转换都可以工作,除了涉及 Oracle 集合的转换,例如对象的嵌套表。我得到的不是正确的字符串,甚至是简单的字符串,例如“1”,而是“???” (三个问号)。
我尝试了以下 10.2.0.4 JDBC Jar 文件,但无济于事:
ojdbc14.jar orai18n.jar我还尝试了 CHAR 和 VARCHAR2,它们的行为相同。
【问题讨论】:
【参考方案1】:您可能想尝试使用 NVARCHAR2
类型。
这种类型更适合非英文字符。
【讨论】:
这是一个很好的解决方法,我自己不久前才想到它。尽管如此, orai18n.jar 应该可以工作,但是我遇到了一些奇怪的错误。顺便说一句,某些字符串中的字符显示为“???”只是简单的 ASCII 码!以上是关于将 Oracle 集合与瘦 JDBC 结合使用时的全球化问题的主要内容,如果未能解决你的问题,请参考以下文章