0

我使用的是ibatis和oracle 10。jdbc驱动是oracle.jdbc.driver.OracleDriver。当我从表中检索数据时,我发现附加了两个空格''。假设列 ACTIVE_IND CHAR(1),检索到的数据是“A”。

请注意,所有 CHAR 字段都会发生这种情况。并且没有多余的空格总是 CHAR 长度的两倍。例如,如果有一列 CHAR(14),则最后没有多余的空格是 28。

这仅在系统测试环境中发生。在我们的本地桌面中,使用相同的 ojdbc14.jar 和相同的代码,我们没有得到任何额外的空间。

我认为系统测试环境中唯一不同的是数据库。它与某些字符编码有关吗?我们在数据库中有一些配置来改变它吗?

4

2 回答 2

2

这听起来很像一个字符编码问题。你检查过吗

  1. 每种情况下的 Oracle 数据库配置
  2. 您的应用程序在每个环境下运行的字符编码是什么(您可以使用-Dfile.encoding=UTF8或类似方式配置它 - 我强烈推荐这个)
于 2010-12-31T11:11:07.723 回答
0

从您提供的信息中无法完全确定到底出了什么问题。就列的编码而言,它受 COLLATION SETTING 的影响。您可以查看以下链接以获取更多信息:http ://www.lessanvaezi.com/collat​​ion-in-oracle-using-nls_sort/

于 2010-12-31T11:14:51.700 回答