zoukankan      html  css  js  c++  java
  • 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" />

  • 相关阅读:
    iframe显示高度自适应 兼容多浏览器
    Asp.Net在Global.asax中实现URL 的重写
    文件流下载 ASP.NET
    Asp.Net实现全局定时器功能
    C#中获取本机IP地址,子网掩码,网关地址
    Asp.Net缓存实例
    Google API 天气数据缓存到一个XML中
    获取服务器信息
    C# NET 中英混合字符串截断实例
    Asp.Net实现长文章分页显示功能
  • 原文地址:https://www.cnblogs.com/exmyth/p/5136704.html
Copyright © 2011-2022 走看看