日期:2014-05-18  浏览次数:20715 次

急:使用fckeditor中文显示为乱码!
fckeditor输入中文后,在显示页调用时全部为乱码是怎么回事啊?在网上查了一下说是要把编码方式改为utf-8,可改了以后还是乱码,整了一夜都要疯了!!!!

------解决方案--------------------
1.编辑器的格式要设置好,

2.jsp或者Action里面对乱码处理好,

3.尽量用过滤器实现


ps:
Filter实现版:


package filters;


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;
import javax.servlet.UnavailableException;


public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;

public void destroy() {

this.encoding = null;
this.filterConfig = null;

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {

// Conditionally select and set the character encoding to be used
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null)
request.setCharacterEncoding(encoding);
}

// Pass control on to the next filter
chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter( "encoding ");
String value = filterConfig.getInitParameter( "ignore ");
if (value == null)
this.ignore = true;
else if (value.equalsIgnoreCase( "true "))
this.ignore = true;
else if (value.equalsIgnoreCase( "yes "))
this.ignore = true;
else
this.ignore = false;

}

protected String selectEncoding(ServletRequest request) {

return (this.encoding);

}


}


配置web.xml


<filter> <filter-name> Set Character Encoding </filter-name> <filter-class> filters.SetCharacterEncodingFilter </filter-class> <init-param> <param-name> encoding </param-name> <param-value> GBK </param-value> </init-param> </filter> <filter-mapping> <filter-name> Set Character Encoding </filter-name> <url-pattern> /* </url-pattern> </filter-mapping>