我没有作过sybase中的,但是我可以给你点提示java环境默认提交的编码为 ISO8859_1,中文处理需要 GB2312 编码,很多解决方法中都是使用 new String(s.getBytes("ISO8859_1"), "GB2312")这样的方法来进行转换,如果变量较多,处理起来很麻烦。
可以在 getParameter() 方法获取参数之前,即在String之前使用request.setCharacterEncoding("GB2312");,将提交的信息转化为 GB2312 编码。
或者在环境变量加上:CATALINA_OPTS=-Dfile.encoding=gb2312
或者在启动时加参数:-Dfile.encoding=gb2312上面的只是简单的处理,没有经过数据库中中文吧,基本上都是这么处理的,没有其它更好的办法,要不就需要修改它们的默认的编码为GB2312了,这个需要有源代码,通常提供JDBC的厂家是不给你提供源代码的。

解决方案 »

  1.   

    我一样在用sybase,要有连接方法,留下你的EMAIL给我,我发给你
      

  2.   

    elapsed(鸡毛乱舞):谢谢您的解答,但是我试过使用new String("从数据库读出的byte流","iso8859-1")的方法转换字符串,但是得到的是乱码,所以我猜想,数据库里面使用的不是iso8859-1,另外我今天得到了一个可靠的消息,那就是我们数据库当中使用的是cp850编码,请问有没有转换的方法.谢谢.
      

  3.   

    jianten先谢谢你的解答,我的email是[email protected]如果有时间,就帮忙发一个,不要太大,5m左右我的信箱可以装下.谢谢