getString自动补空格 我数据库里面的字段定义是 char(4)里面存放两个汉字,为什么用getString取出来的时候,都自动加了两个空格呢?比如数据库里面:你好getString之后的结果:你好□□ (□:空格) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 char(4)的话,如果字符不足4位会自动填充为4位,是定长数据应该是这样你换成varchar 应该就不会了 把数据的这个字段修改下从char(4) 修改成varcha2(4)就应该可以解决你所说的问题了。和一楼 “aoxianglin ”观点一致 得到结果 之后 调用 trim()(String中的方法) 去掉空格 是这样的.现在的现象是开发机和测试机同样的代码但是开发机上面用getstring取出来的数据后面没有空格是不是和jdbc的驱动有关系? [Quote=引用 10 楼 java2000_net 的回复:]一句话,如果啥都不让改,那么你辞职吧。[/Quote我也有这个打算了,不过辞职之前先弄明白这个问题....难道jdbc驱动的版本不同,处理的结果也不一样马?在什么情况下,getString取出来的char数据的长度是按照字节数算得。什么情况下是按照文字数算得。 trim一下去掉空格就可以了,原因二楼说的很明白 數據庫不讓改的話 那就在後面就java代碼處理下就可以了在取得數據後trim()就可以了 這個方法是專門去掉空格的 数据结构都是一样的。但是oracle的版本不一样。 解决办法很多啊。。有简单的有复杂的上面就总结了两种办法。还可以用String方法中的spint()方法以截取字符串形式实现,取值的时候截取字符串的前两位就可以了,只把汉字截取出来现实就OK了。 9i里面我确认char类型肯定是会自动补齐空格的,你说测试环境和生产环境测试结果不一致,我提一个很白痴的假设,不知道你是不是这样的情况:比如数据长度是char(4),测试的时候测试人员是输入的4个字符,生产的时候输入的是2个,所以发现空格了?不知道是不是这样的原因。至于标准解释参见2楼,是这个问题的解答! 在windows下面都没有问题,在unix下面有问题,就是说unix下面会自动在char(4)的数据后面补空格 myeclipse.connection.profile 高分求解,pdf2swf的问题。 关于二级域名解析,解析到项目文件夹下,请大家大家指点,谢谢! 带复选框的树结构-请高手帮忙 急问,IIS+Tomcat为何无法访问servlet,但jsp文件正常 web service问题 数字转货币大写,有没有,用JAVA写的 关于jsp文件上传的问题 一个简单的问题.. 请教淘宝,京东等各大网站上实现的全网比价是怎么实现的 HttpURLConnection的getResponseCode()方法为什么很慢? JSP读取PHP生成的cookies中的中文信息乱码!
应该是这样
你换成varchar 应该就不会了
和一楼 “aoxianglin ”观点一致
但是开发机上面用getstring取出来的数据后面没有空格
是不是和jdbc的驱动有关系?
一句话,如果啥都不让改,那么你辞职吧。
[/Quote
我也有这个打算了,
不过辞职之前先弄明白这个问题....难道jdbc驱动的版本不同,处理的结果也不一样马?
在什么情况下,getString取出来的char数据的长度是
按照字节数算得。什么情况下是按照文字数算得。
在取得數據後trim()就可以了 這個方法是專門去掉空格的
上面就总结了两种办法。
还可以用String方法中的spint()方法以截取字符串形式实现,取值的时候截取字符串的前两位就可以了,只把汉字截取出来现实就OK了。
比如数据长度是char(4),测试的时候测试人员是输入的4个字符,生产的时候输入的是2个,所以发现空格了?不知道是不是这样的原因。
至于标准解释参见2楼,是这个问题的解答!
在unix下面有问题,就是说unix下面会自动在char(4)的数据后面补空格