我没有作过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的厂家是不给你提供源代码的。
可以在 getParameter() 方法获取参数之前,即在String之前使用request.setCharacterEncoding("GB2312");,将提交的信息转化为 GB2312 编码。
或者在环境变量加上:CATALINA_OPTS=-Dfile.encoding=gb2312
或者在启动时加参数:-Dfile.encoding=gb2312上面的只是简单的处理,没有经过数据库中中文吧,基本上都是这么处理的,没有其它更好的办法,要不就需要修改它们的默认的编码为GB2312了,这个需要有源代码,通常提供JDBC的厂家是不给你提供源代码的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货