十分火急,用Microsoft SQL Server 2000 JDBC连接数据库的方法,显示汉字出现乱码?

golcm 2001-12-19 01:59:14
用Microsoft SQL Server 2000 JDBC连接数据库的方法,查询数据出现乱码,而用JDBC-Odbc桥连接时,确没有?为什么呀。
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycats 2001-12-19
  • 打赏
  • 举报
回复
附一个用于从数据库和网络中取出中文乱码的处理函数,入参是有问题的字符串,出参是问题已经解决了的字符串。

String parseChinese(String in)

{

String s = null;

byte temp [];

if (in == null)

{

System.out.println("Warn:Chinese null founded!");

return new String("");

}

try

{

temp=in.getBytes("iso-8859-1");

s = new String(temp);

}

catch(UnsupportedEncodingException e)

{

System.out.println (e.toString());

}

return s;

}


ycats 2001-12-19
  • 打赏
  • 举报
回复
流行的关系数据库系统都支持数据库 encoding,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。当应用程序访问数据时,在入口和出口处都会有 encoding 转换。 对于中文数据,数据库字符编码的设置应当保证数据的完整性. GB2312,GBK,UTF-8 等都是可选的数据库 encoding;也可以选择 ISO8859-1 (8-bit),那么应用程序在写数据之前须将 16Bit 的一个汉字或 Unicode 拆分成两个 8-bit 的字符,读数据之后则需将两个字节合并起来,同时还要判别其中的 SBCS 字符。没有充分利用数据库 encoding 的作用,反而增加了编程的复杂度,ISO8859-1不是推荐的数据库 encoding。JSP/Servlet编程时,可以先用数据库管理系统提供的管理功能检查其中的中文数据是否正确。

然后应当注意的是读出来的数据的 encoding,JAVA 程序中一般得到的是 Unicode。写数据时则相反。

kmonkey 2001-12-19
  • 打赏
  • 举报
回复
我也一样出现这个情况,怎么没有高手来回答呢?
http://www.csdn.net/expert/topic/428/428283.shtm

34,577

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧