• 中文乱码问题解决方法总结


      

    //我遇到的是第一个问题,顺利解决,搞定,基本这几种方法就够用了。

    1.中文乱码:
    1)tomcat 改成 utf-8   URIEncoding="UTF-8"
    D:Tomcat 6.0conf中的server.xml中修改URIEncoding="UTF-8"
    <Connector port="8081" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" URIEncoding="UTF-8"/>

    2)加 过滤器

    EncodeFilter.java
    具体步骤是:
    1.先在web.xml配置文件中增加代码:

     1 <!--编码过滤器-->
     2 
     3 <filter>
     4 <filter-name>encodeFilter</filter-name>
     5 <filter-class>common.EncodeFilter</filter-class>
     6 <init-param>
     7 <param-name>encoding</param-name>
     8 <param-value>utf-8</param-value>
     9 </init-param>
    10 </filter>
    11 
    12 
    13 <filter-mapping>
    14 <filter-name>encodeFilter</filter-name>
    15 <url-pattern>/*</url-pattern>
    16 </filter-mapping>
    View Code

    2.增加一个过滤用的类EncodeFilter.java

     1 package common;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.Filter;
     6 import javax.servlet.FilterChain;
     7 import javax.servlet.FilterConfig;
     8 import javax.servlet.ServletException;
     9 import javax.servlet.ServletRequest;
    10 import javax.servlet.ServletResponse;
    11 
    12 import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
    13 
    14 public class EncodeFilter extends StrutsPrepareAndExecuteFilter implements Filter {
    15 private FilterConfig config = null;
    16 private String encoding = null;
    17 
    18 @Override
    19 public void init(FilterConfig config) throws ServletException {
    20 this.config = config;
    21 }
    22 
    23 @Override
    24 public void doFilter(ServletRequest request, ServletResponse response,
    25 FilterChain chain) throws IOException, ServletException {
    26 if (encoding == null) {
    27 encoding = config.getInitParameter("encoding");
    28 }
    29 request.setCharacterEncoding(encoding);
    30 response.setCharacterEncoding(encoding);
    31 chain.doFilter(request, response);
    32 }
    33 
    34 @Override
    35 public void destroy() {
    36 config = null;
    37 encoding = null;
    38 }
    39 }


    3 表单提交的时候使用post方式
    表单提交的时候,myeclipse默认是用的<form action="air!cp.action" method="get">
    你要改成post方法
    ps

    注意到表单中action:getPostServlet/getPost.do?param4=param4
    这个action带有一个参数param、,
    如果用get方法提交,后台无法接收到这个参数;
    如果用post方法提交,后台就可以接收到这个参数

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    jquery获取transform里面的值
    H5左滑删除JS插件
    IOS微信浏览器点击事件不起作用问题
    jquery获取不了ajax动态添加的内容的解决办法
    H5跟ios、android交互跟数据对接
    JS图片赖加载例子
    苹果手机浏览器下拉会闪动的解决办法
    jquery.rotate.js可选抽奖次数和中奖内容的转盘抽奖demo
    Html5的localStorage与sessionStorage五种循序渐进的使用方法
    tar 「解/壓」 包
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4734837.html
Copyright © 2020-2023  润新知