java程序从Sybase拿出数据显示中文问题? Java / Web 开发

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:56:51
java程序从Sybase拿出数据显示中文问题?
我做了一个连接Sybase数据库的程序从Sybase下拿出数据可是数据库有中文的时候拿出来就是乱码显示,该怎么解决!!
比如Mysql是在   url="jdbc:mysql://192.168.1.28/tzw?useUnicode=true&characterEncoding=GB2312";
是这样解决的,Sybase该怎么解决???请大家帮帮忙 问题点数:0、回复次数:8Top
nanman(南蛮—500万人使用的最强五笔作者)回复于 2004-07-20 10:38:28 得分 0
jdbc:sybase:Tds:localhost:4100/abc?charset=eucgbTop
TZW1212(文文)回复于 2004-07-20 10:50:22 得分 0
我想请问一下这雅芝商行   什么码?因为我在Sybase数据库里面看到的就是这个怎么把它拿出来转成正常的代码!!!!!Top
wbwb3448()回复于 2004-07-20 10:57:07 得分 0
呵呵~我正好做了JSP+SYBASE~~
public   String   convertStr(String   str)   {
String   newstr   =   str;
try   {
newstr   =   new   String(str.getBytes("ISO-8859-1"));
}
catch   (UnsupportedEncodingException   uee)   {
System.err.println("convert   error!");
}
return   newstr;
}
插入数据前对string调用convertStr(string),取数据rs.getString不需要转换~只接就能在网页上显示中文Top
TZW1212(文文)回复于 2004-07-20 13:37:14 得分 0
不用加public   String   convertStr(String   str)刚刚我自己也试过了,直接用JSP连接Sybase显示直接出来的就是中文!我想问的是怎么把Sybase数据拿出来导入到Mysql中,不会出现想这样的<雅芝商行>   乱码!!!
我试过在数据库里面导出,和用java导出都会出现这个问题!!!
大家给点意见!Top
dawangzi16(大望子)回复于 2004-07-29 10:32:03 得分 0
在本论坛java块搜索中文     乱码     你的问题很快搞定,Top
wubai250(新版日语mp3)回复于 2004-07-29 10:48:36 得分 0
确保数据库使用中文字符集,如   eucgb,   utf8,   cp936,   同时,   在   jconnect   编程时设定必要的连接属性,   包括   charset   (要求与数据库保持一致)   和   jconnect_version.
例如:
jconnect   4.2:
jdbc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=4
jconnect   5.2:
jdbc:sybase:Tds:hostname:port/dbname?charset=eucgb&jconnect_version=0Top
wbwb3448()回复于 2004-07-29 13:34:47 得分 0
假设sybase装在C:\sybase下
用记事本编辑C:\sybase\LOCALES\LOCALES.DAT文件,找到
....
[NT]
locale   =   enu,   us_english,   iso_1
locale   =   fra,   french,   iso_1
locale   =   deu,   german,   iso_1
locale   =   rus,   russian,   cp1251
locale   =   hun,   us_english,   cp1250
locale   =   ell,   us_english,   cp1253
locale   =   heb,   us_english,   cp1255
locale   =   ara,   us_english,   cp1256
locale   =   trk,   us_english,   cp1254
locale   =   esp,   spanish,   iso_1
locale   =   jpn,   japanese,   sjis
locale   =   chs,   chinese,   eucgb
locale   =   cht,   tchinese,   big5
;   locale   =   kor,   korean,   eucksc
locale   =   default,   us_english,   cp850
.....
只要把最后一行改为locale   =   default,   us_english,   cp850   就行了
Top
cnhxjtoa(让世界充满爱得从助人为乐开始;学习是一生的课题)回复于 2004-07-30 14:45:44 得分 0
字符编码转换常用的方法是
String   native_encoded   =   "中文字符串";
//本地编码的字符串
Byte[]   byte_array   =   native_encoded.getBytes();
//得到本地编码的字节数组
String   net_encoded   =   new   String(native_encoded,   "ISO-8859-1");
//生成ISO-8859-1编码的字符串