最常用的方法是 String s1 = request.getParameter(“keyword”); String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”); getBytes 方法用于将中文字符以“ISO-8859-1”编码方式转化成字节数组,而“GBK” 是目标编码方式。我们从以ISO-8859-1方式编码的数据库中读出中文字符串 s1 ,经过上述转换过程,在支持 GBK 字符集的操作系统和应用软件中就能够正确显示中文字符串 s2 。
例如:
jdbc:sybase:Tds:127.0.0.1:4100/pubs?charset=eucgb可参见:
http://expert.csdn.net/Expert/TopicView1.asp?id=1952652
即:
getgbstr(str,2); public static String getgbstr(String str,int direct){
try{
String _gbStr;
switch(direct){
case 1:
_gbStr = new String(str.getBytes("ISO8859_1"),"GB2312");
return _gbStr;
case 2:
_gbStr = new String(str.getBytes("GB2312"),"ISO8859_1");
return _gbStr;
default:
return str;
} }
catch(Exception e){
return str;
}
}
在下小试了一把:
先在weblogic设置编码为GBK
然后连数据库时只设置jconnect_version=2
然后再把数据库读出的中文转化为ISO-8859-1
一切ok