在使用 Oracle 10.2.0.3 JDBC 驱动程序从 Oracle 10g 保存和检索欧元字符时,我们遇到了问题。该问题仅发生在 Linux 下运行的 JUnit 测试期间。保存后从数据库返回的欧元字符完全搞砸了。Oracle 已配置为使用字符集“WE8MSWIN1252”。会不会是 Linux 不能使用这个字符集?
david
问问题
3952 次
2 回答
4
很有可能;代码页 1252 是微软自己对 ISO-8859-1(又名 Latin-1)的扩展,在 Linux 上很少使用,Linux 倾向于使用后者。欧元符号不是 Latin-1 的一部分,这可能是它无法在 Linux 上正确显示的原因。不能使用 UTF-8 吗?双方的工作方式相同。
于 2008-12-18T13:03:58.997 回答
3
这不是 Linux 的事情。这是 jdbc 驱动程序的检索代码中的一个已知 Oracle 错误。有一个可用的补丁,但您需要访问 Oracle Metalink 才能下载它。建议的另一种选择是使用 OCI 驱动程序而不是瘦驱动程序。这可能是也可能不是您的选择。
编辑:
此错误存在于 10.2.0.3 驱动程序中,已在 10.2.0.4 jdbc 驱动程序中修复。
于 2009-01-02T16:22:34.267 回答