JDBC中的中文处理

发表于:2008-10-14来源:作者:点击数: 标签:JDBC中文jdbc
关键字:JDBC JDBC中的中文处理 我们在做一个JAVA的应用,不可避免地要处理中文。经过艰苦的探索,目前有一些进展,找到了一些解决方法,但仍然面临着无法解决的问题。在此作一整理,希望对大家有所帮助,同时请各位高手帮忙考虑我们的问题。 背景: JDK 1.1
关键字:JDBC
JDBC中的中文处理

我们在做一个JAVA的应用,不可避免地要处理中文。经过艰苦的探索,目前有一些进展,找到了一些解决方法,但仍然面临着无法解决的问题。在此作一整理,希望对大家有所帮助,同时请各位高手帮忙考虑我们的问题。

背景:
JDK 1.15
VCafe 2.0
JPadPro
SERVER:
NT IIS
Sybase System 10
JDBC: Jconnect
CLIENT:
Browser: Netscape 4.04 + Patch
PWin95 & Pwin98 Beta3

CLASS文件存放在 SERVER,由BROWSER 运行APPLET,APPLET只起调入FRAME类主程序的作用。界面包括Text field, Text Area,List, Choice 等。

一,取中文
用JDBC执行SELECT语句从SERVER取数据(中文)后,将数据用APPEND方法加到TEXT AREA(TA),不能正确显示。但加到LIST中时,则大部分汉字可正确显示。

处理:将数据按“ISO-8859-1”格式转为字节数组,再按系统缺省编码格式(default character encoding)转为STRING,即可在TA和LIST中正确显示。

程序段如下:

dbstr2 = results.getString(1);
//*********************************************************************
// After read result from Database server, Convert the result string.

dbbyte1 = dbstr2.getBytes("iso-8859-1");
dbstr1 = new String(dbbyte1);
//*********************************************************************

二,写中文到DB
处理方式与以上相逆,先将SQL语句按DEFAULT CHARACTER ENCODING转为字节数组,再按ISO-8859-1转为STRING,然后送执行,则中文信息可正确写入DB。

sqlstmt = tf_input.getText();

原文转自:http://www.ltesting.net