您的位置:首页 > 运维架构 > Tomcat

使用myeclipse插入数据到mysql 出现中文乱码|utf8乱码解决方案[适合tomcat部署的jsp应用]

2016-08-22 12:05 951 查看
java类: CharacterEncodingFilter

import javax.servlet.*;

import java.io.IOException;

public class CharacterEncodingFilter implements Filter {

private String encoding = “UTF-8”;

private boolean forceEncoding = true;

/**

Set the encoding to use for requests. This encoding will be

passed into a ServletRequest.setCharacterEncoding call.

Whether this encoding will override existing request

encodings depends on the “forceEncoding” flag.

*/

public void setEncoding(String encoding) {

this.encoding = encoding;

}

/**

Set whether the encoding of this filter should override existing

request encodings. Default is “false”, i.e. do not modify encoding

if ServletRequest.getCharacterEncoding returns a non-null value.

*/

public void setForceEncoding(boolean forceEncoding) {

this.forceEncoding = forceEncoding;

}

public void init(FilterConfig filterConfig) throws ServletException {

this.encoding = filterConfig.getInitParameter(“encoding”);

String force = filterConfig.getInitParameter(“forceEncoding”);

this.forceEncoding = (force == null) || Boolean.valueOf(force).booleanValue() ;

}

public void doFilter(ServletRequest servletRequest,

ServletResponse servletResponse,

FilterChain filterChain) throws IOException, ServletException {

if (this.forceEncoding || servletRequest.getCharacterEncoding() == null) {

servletRequest.setCharacterEncoding(this.encoding);

}

filterChain.doFilter(servletRequest, servletResponse);

}

public void destroy() {

}

}

在web.xml配置文件里加Filters Configurations

CHARACTER_ENCODING

common.encoding.CharacterEncodingFilter

encoding

UTF-8

forceEncoding

true

CHARACTER_ENCODING

/*

3.数据库建立为UTF-8格式

4.项目右键属性为UTF-8格式

5.所有页面申明为UTF-8

6.JDBC URL设为:UTF-8

jdbc:mysql://localhost:3306/databaseuse?useUnicode=true&characterEncoding=utf-8

7.数据库Driver选择UTF-8格式

8.Tomcat编码改成UTF-8

在server.xml里面增加URIEncoding=”UTF-8”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: