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

  • 相关阅读:
    数据库字段太多,批量快速建立实体类方法(适合大量字段建立实体类)
    SQL service 中的 ”输入SQL命令窗口“ 打开了 “属性界面” 回到 ”输入SQL命令窗口“
    计算机软件编程英语词汇集锦
    编程常用英语词汇
    svn上传和下载项目
    当启动tomcat时出现tomcat setting should be set in tomcat preference page
    Implicit super constructor Object() is undefined for default constructor. Must define an explicit constructor
    eclipse中选中一个单词 其他相同的也被选中 怎么设置
    Spring Boot的@SpringBootApplication无法引入的问题
    最全的SpringCloud视频教程
  • 原文地址:https://www.cnblogs.com/exmyth/p/5136704.html
Copyright © 2011-2022 走看看