解决CKEditor内容中文乱码问题

使用CKEditor编辑器 在把其中的内容传回服务器的时候中文可能会有乱码

首先修改 tomcat的server.xml 添加 utf-8 

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

然后修改 CKEditor的ckeditor.js和config.js 打开另存一次 保存为 UTF-8

在servlet中设置

response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		String contnt = request.getParameter("content");

调用的页面编码也要配合一致 

最后在项目中添加一个 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;

public class MyFilter implements Filter {

	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain fc) throws IOException, ServletException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");   
	     response.setCharacterEncoding("utf-8");   
	     fc.doFilter(request,response);   
		
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

并在web.xml中配置

<filter>   
   <filter-name>myFilter</filter-name>   
   <filter-class>com.adam.util.MyFilter</filter-class>   
   </filter>   
<filter-mapping>   
<filter-name>myFilter</filter-name>   
<url-pattern>/*</url-pattern>   
</filter-mapping>

你可能感兴趣的:(解决CKEditor内容中文乱码问题)