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

  • 相关阅读:
    Cocos2d-x之CCMenu理解
    【问题记录】mysql设置任意ip访问
    kafka eagle 使用教程
    查看Android源码和源码布局
    JAVA问题之泛型数组
    Linux面试题汇总答案(转)
    从源码看Azkaban作业流下发过程
    Azkaban源码学习笔记
    Java多线程基础学习(二)
    Java多线程基础学习(一)
  • 原文地址:https://www.cnblogs.com/javaxiaodoufu/p/7349993.html
Copyright © 2011-2022 走看看