从Sysbase12.5取出一个中文字符串,经过比较长度,如果小于或等于预定长度,就写到文件中。
假设预设的长度是8;
于是:
String str = (String) resultList.get(4); //str=我们;
str = new String(str.getBytes(),"GBK");
str.getBytes() = 4;
小于预定长度,写文件成功,但是汉字乱码。String str = (String) resultList.get(4); //str=我们;
str = new String(str.getBytes("GBK"),"ISO-8859-1");
str.getBytes() = 16;
大于预定长度,写文件失败,如果只输出一个汉字那么不会乱码;
难道在HP-UX下面一个汉字占8位嘛???以上在windows下不存在任何问题;
高手救命啊!!!
假设预设的长度是8;
于是:
String str = (String) resultList.get(4); //str=我们;
str = new String(str.getBytes(),"GBK");
str.getBytes() = 4;
小于预定长度,写文件成功,但是汉字乱码。String str = (String) resultList.get(4); //str=我们;
str = new String(str.getBytes("GBK"),"ISO-8859-1");
str.getBytes() = 16;
大于预定长度,写文件失败,如果只输出一个汉字那么不会乱码;
难道在HP-UX下面一个汉字占8位嘛???以上在windows下不存在任何问题;
高手救命啊!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货