DB2 数据库:因为数据库乱码java.sql.ResultSet,结果集返回的时候getString()丢失字符
java菜鸟请教个问题:小弟用的数据库是DB2数据库,默认编码是UTF-8selectBP_KEY,BP_ID,COMPANY_NAME,length(COMPANY_N...
java 菜鸟请教个问题: 小弟用的数据库是DB2数据库,默认编码是UTF-8
select BP_KEY,BP_ID ,COMPANY_NAME,length(COMPANY_NAME) from conform.business_partner where bp_key in (15943,21049,33951,13818,38914,44194) with ur ;这个sql取出来的length(COMPANY_NAME) 这个值是35,当我从这个sql的结果集中getString(3)的时候,用java的getString(3).length()返回值是33,因为COMPANY_NAME这个字段在数据库中有乱码,所以那位大侠能给小弟指点一下。这个是什么原因呢?为什么会长度会有丢失? 展开
select BP_KEY,BP_ID ,COMPANY_NAME,length(COMPANY_NAME) from conform.business_partner where bp_key in (15943,21049,33951,13818,38914,44194) with ur ;这个sql取出来的length(COMPANY_NAME) 这个值是35,当我从这个sql的结果集中getString(3)的时候,用java的getString(3).length()返回值是33,因为COMPANY_NAME这个字段在数据库中有乱码,所以那位大侠能给小弟指点一下。这个是什么原因呢?为什么会长度会有丢失? 展开
展开全部
先把String类型转换成某种类型编码如 utf-8,自己可以多次试验如可以写gbk
Bytes[] ss =s.getBytes("iso-8859-1"));
把数组 ss转换成String
String str=new String(ss,"utf-8")
反正多次试验不同编码查看数据库是否还乱码不
Bytes[] ss =s.getBytes("iso-8859-1"));
把数组 ss转换成String
String str=new String(ss,"utf-8")
反正多次试验不同编码查看数据库是否还乱码不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似有限制的,当多余这个限制的时候,数据库是分段读取的,并不是一次读取所有数据,这样有利于提高系统利用率和效率,
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询