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