我使用的是ibatis和oracle 10. jdbc驱动程序是oracle.jdbc.driver.OracleDriver。当我从表中检索数据时,我发现附加了两个空格''。我们说列ACTIVE_IND CHAR(1),检索的数据是'A'。
请注意,所有CHAR字段都会发生这种情况。没有额外的空格总是CHAR长度的两倍。例如,如果有一列CHAR(14),则末尾没有多余的空格是28。
仅在系统测试环境中发生这种情况。在我们的本地桌面中,使用相同的ojdbc14.jar和相同的代码,我们没有获得任何额外的空格。
我认为系统测试环境中唯一不同的是数据库。它与某些字符编码有关吗?我们在数据库中有一些配置来改变吗?
答案 0 :(得分:2)
这听起来很像字符编码问题。你检查了吗
-Dfile.encoding=UTF8
或类似方式对其进行配置 - 我强烈建议您这样做)答案 1 :(得分:0)
无法从您提供的信息中完全确定出现了什么问题。就列的编码而言,它受COLLATION SETTING的影响。您可以查看以下链接以获取更多信息:http://www.lessanvaezi.com/collation-in-oracle-using-nls_sort/