繁体   English   中英

检索CHAR值时最后有多余的空格

[英]Extra spaces in the end while retrieving CHAR values

我使用的是ibatis和oracle 10. jdbc驱动程序是oracle.jdbc.driver.OracleDriver。 当我从表中检索数据时,我发现添加了两个空格''。 比方说,ACTIVE_IND CHAR(1)列,检索到的数据为'A'。

请注意,所有CHAR字段都会发生这种情况。 而且,多余的空间永远都不是CHAR长度的两倍。 例如,如果有一列CHAR(14),则末尾没有多余的空格是28。

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

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

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

  1. 在每种情况下配置Oracle数据库
  2. 您的应用程序在每种环境下运行的是哪种字符编码(您可以使用-Dfile.encoding=UTF8或类似-Dfile.encoding=UTF8进行配置-我强烈建议您这样做)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM