utf8乱码解决方案[适合tomcat部署的jsp应用]

1. 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.

* <p>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() {

}

}

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

<!-- Filters Configurations -->

<filter>

<filter-name>CHARACTER_ENCODING</filter-name>

<filter-class>

common.encoding.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

<init-param>

<param-name>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CHARACTER_ENCODING</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

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"

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值