• get、post、cookie乱码问题解决


    设置页面字符编码格式UTF-8

    处理 get请求的乱码方式
    01. 治标
    需要对个中文的字符 进行转码操作! 太麻烦

    重构字符串

    new String(“中文”.getBytes("iso-8859-1“),“utf-8”);
    02. 治本
    在tomcat——conf文件夹中找到server.xml文件中connector节点!
    新增URIEncoding="utf-8"

    useBodyEncodingForURI="true"  (二选一,都写则 useBodyEncodingForURI起作用)

    针对于post请求乱码方式的解决方案
    01. 治标

    重构字符串

    new String(“中文”.getBytes("iso-8859-1“),“utf-8”);


    request.setCharacterEncoding("utf-8"); 设置请求的编码格式
    response.setCharacterEncoding("utf-8"); 设置响应的编码格式//一般不写,

    page指令里面contentType设置了charset.响应的编码格式
    每个jsp页面都必须加上这些代码!! 有点麻烦
    02. 治本

    也可以使用编码过滤器来解决,最常用的方法是使用spring提供的编码过滤器:

    在Web.xml中增加如下配置(要注意的是它的位置一定要是第一个执行的过滤器):

    <filter>
    <filter-name>charsetFilter</filter-name>
    <filter-class>org.springframework.web.filter.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>

    该过滤器要做的其实就是强制为所有请求和响应设置编码格式:

    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");

    cookie----中文

    转码:URLEncoder.encode(" ","utf-8")

    解码:URLDecoder.decode(" ","utf-8")

  • 相关阅读:
    周报说明8-4
    周报7-28
    日志-maven-c监控 周报7-21
    证明创建runnable实例和普通类时间一样长, 其实吧
    UE4开始之路
    js简单框架设计
    json中key为数字会自动排序问题
    u3动画
    工厂模式
    单例模式
  • 原文地址:https://www.cnblogs.com/javaxiaodoufu/p/7349993.html
Copyright © 2020-2023  润新知