读书人

项目中整体下中文乱码

发布时间: 2012-12-27 10:17:10 作者: rapoo

项目中整体上中文乱码

??? 搞一个S2SH项目,在运行时整体上项目中文在IE浏览器中都存在乱码。

?

??? 采用了网上很多方法治标不治本,都不能完整实现项目在处理中文时编码格式处理。和朋友讨论N多方式也无法,最后实在是没扯了…… 采用最原始的东西搞定—Servlert拦截器搞定问题。

?

??? 1、首先在web.xml最前面加上如下代码(一定是要在最前面,不管web.xml后面怎么配置了字符编码格式,就把这个加载最前面[拦截器路径根据自己实际情况而定])。

???

<filter><filter-name>encodeFilter</filter-name><filter-class>com.born.sys.filter.SystemEncoding</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encodeFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

?

?

??? 2、编写拦截器类,代码如下:

???

package com.born.sys.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/** * 系统中文乱码处理 * @author guo_mj * */public class SystemEncoding implements Filter {private FilterConfig config = null;private String encoding = null;@Overridepublic void init(FilterConfig config) throws ServletException {this.config = config;}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {if (encoding == null) {encoding = config.getInitParameter("encoding");}request.setCharacterEncoding(encoding);chain.doFilter(request, response);}@Overridepublic void destroy() {config = null;encoding = null;}}

?

?

读书人网 >编程

热点推荐