支持。但你需要知道的是Java是基于unicode的语言。
解决方案 »
- 我想买一本关于java的书,推荐一本吧
- 来北京一个星期了,还没找到工作。。
- JAVA对象的序列化是否可以重写
- 我的java mail程序在windows下正常,在linux错误,why?
- 请对数据库维护有经验的朋友进来帮个忙,谢谢。
- 急急急!!!!!
- 100分的问题:如何取当前桌面路径?(针对不同操作系统的)。分不够再加
- 兩個java.util.Date對象﹐如何得出它們天數的差距?
- 求助~~~~~~~~~~~~~想让java程序停止等待固定的时间~~~~~~~~~~~~~~~~
- 关于手写输入
- 急 java.rmi.registry.LocateRegistry;怎么了?
- 非常丰富的java资源,Oreilly电子图书有的是!
String str=new String(rs.getString(1).getBytes("ISO-8859-1"),"GBK");
或者你打开数据库的企业管理器的数据库属性的服务器设置选项页,看看能否把数据库默认语言设置成simpilifed chinese。
反正我用的是中文版的SQLServer2000,JDBC驱动,跟用JDBC-ODBC一样没区别,不需要做编码转换
public static String UnicodeToChinese(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}
出现乱码是因为java程序的运行环境是英文的,并不在于SQL Server是什么版本的to yjmusic (音乐小虫)
不清楚你用的是哪个jdbc驱动,我刚本想查了一下sun.jdbc.odbc.JdbcOdbcDriver的驱动设置,sun的一个页面指出jdk1.1就开始支持这个驱动的编码设置,但是连接因为是jdk1.1的文档页面,所以被删了,我也就没找到这个驱动的设置,你可以去看一下你使用的jdbc驱动的说明文档,看看如何设置,
他用的操作系统是英文的操作系统?所以他的JDK的运行环境是英文的。
java程序运行的时候是需要进行编码转换的,默认编码方式是根据运行环境设置的,英文默认ISO8859_1,但是数据库中数据为gb2312,当然转换编码时发生错误