zoukankan      html  css  js  c++  java
  • utf8乱码解决方案[适合tomcat部署的jsp应用]

    转:http://blog.csdn.net/cn_gaowei/article/details/6673539

    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" />

  • 相关阅读:
    note 11 字典
    note10 元组
    hibernate环境搭建及操作
    JAVA中解决Filter过滤掉css,js,图片文件等问题
    过滤器
    MySQL存储过程(转)
    用java调用oracle存储过程总结(转)
    Oracle分页查询语句的写法(转)
    数据访问类的封装
    事务的特性及事务的隔离级别(转)
  • 原文地址:https://www.cnblogs.com/exmyth/p/5318640.html
Copyright © 2011-2022 走看看