BBS水木清华站∶精华区

发信人: mah (chip), 信区: Java 
标  题: 通过jdbc driver获取数据库中文信息揭密 
发信站: BBS 水木清华站 (Tue Aug 11 20:42:16 1998) WWW-POST 
 
当我们使用老外公司开发的jdbc第四类driver获取数据库中文信息时,常会出现乱码现象 
,如????D. 
解决办法1: 
使用interface ResultSet的方法getBytes()得到一byte[],然后由此byte[]数组产生一 
新的 
String,可获得正确的汉字,但此方法有一定的局限性,在某些driver上可以实现,如 
weblogic公司 
开发的fastforward产品。另此种方法不规范,根据sun jdbc的标准varchar和var推荐用 
getString() 
方法来获取。 
解决办法2: 
使用interface ResultSet的方法getString(),这时我们得到的String一定是乱码,如何 
解决, 
String temp = result.getString (s); 
if (temp != null) { 
byte[] b = temp.getBytes ("8859_1"); 
temp = new String (b); 
此时的temp一定是正确的中文,,,,,,此种方法我在sybase公司开发的jconnect4上 
实验成功,在fastforward 
上也成功。 
 
敲了半天手都酸了,有兴趣的虫虫可以试试,。。。。。。。 
 
 
 
我自横刀向天笑。。。。。。。。 
谭嗣同语 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.38.97.197]  

BBS水木清华站∶精华区