中文问题:在tomcat运行一切正常,换成resin 3.0.12后,页面显示正常,原来已经写入数据正常,但在Resin环境中新写入数据,显示出来是乱
中文问题:在tomcat运行一切正常,换成resin 3.0.12后,页面显示正常,原来已经写入数据正常,但在Resin环境中新写入数据,显示出来是乱码。是什么原因,能通过设置Resin解决问题吗? 问题点数:20、回复次数:13Top
1 楼yin_slin(一生找北)回复于 2005-06-02 17:53:30 得分 0
正在学习resin,帮顶。Top
2 楼winder()回复于 2005-06-02 19:37:30 得分 0
谁能帮忙指点吗?Top
3 楼winder()回复于 2005-06-03 13:16:13 得分 0
有谁能帮忙吗?Top
4 楼kiccleaf(凯晰叶子(http://www.openzj.com))回复于 2005-06-03 14:45:55 得分 0
关注!Top
5 楼winder()回复于 2005-06-07 09:25:05 得分 0
这个问题都没人知道吗?Top
6 楼newste(旭林)回复于 2005-06-07 09:29:24 得分 5
做个过滤器把在resin.config里面
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.milan.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Top
7 楼newste(旭林)回复于 2005-06-07 09:29:44 得分 5
public class EncodingFilter implements Filter
{
private FilterConfig config = null;
private String targetEncoding = "GBK";
public void init(FilterConfig config) throws ServletException
{
//Logger.debug("-------statr EncodingFilter------------");
this.config = config;
}
public void destroy()
{
config = null;
targetEncoding = null;
}
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)srequest;
request.setCharacterEncoding("GBK");
chain.doFilter(srequest, sresponse);
}
public FilterConfig getFilterConfig()
{
return this.config;
}
public void setFilterConfig(FilterConfig filterConfig)
{
this.config = filterConfig;
}
}Top
8 楼kenvinp(kenvinp)回复于 2005-06-07 09:31:53 得分 5
resin对中文支持很好的了,从数据库读出来一般不用再编码,tomcat就不那么好了.Top
9 楼newste(旭林)回复于 2005-06-07 09:33:31 得分 0
http://www.jdon.com/jive/thread.jsp?forum=62&thread=8977
看看这个
Top
10 楼winder()回复于 2005-06-07 09:51:25 得分 0
从数据库里看,写到数据库的数据就是错误的,是乱码,而以前在tomcat环境下写入数据库的数据都是正常的,也是可以正常显示的,所以,我想问题是否可能出在写入数据库的时候?Top
11 楼winder()回复于 2005-06-07 09:59:42 得分 0
http://www.jdon.com/jive/thread.jsp?forum=62&thread=8977
这里面提到是struts1.1 release + resin 2.1.8 + jdk1.4.1,我用的就是resin 2.2.14,没有plugin,System.setProperty ( "file.encoding", "ISO-8859-1" );该怎么设置?
另,我尝试按http://www.jdon.com/jive/thread.jsp?forum=62&thread=8398(分析并修补 resin 的中文处理)进行处理,但按该方法修改Resin源代码后,有部分的jsp页面无法访问了,页面一片空白,什么也没输出。
做个过滤器把在resin.config里面,能否帮忙解释具体该怎么做呢?谢谢!Top
12 楼winder()回复于 2005-06-07 10:58:36 得分 0
我几乎各种办法都试过了,我估计是否主要还是tomcat和resin对中文的处理有关?Top
13 楼angeb(至少还有你)回复于 2005-07-07 19:52:00 得分 5
resin对中文的支持较好,写入数据库时不需要进行编码的转换,如果转换了反而成乱码了Top




