zoukankan      html  css  js  c++  java
  • 为什么URL中的中文需要Encode两次?

    在URL中传参的时候常常需要传入中文,这个时候就需要对中文参数进行编码,即URLEncode.但是,常常是Encode两次,而不是一次,为什么呢?

    首先要知道,tomcat会自动解码一次;

    这样的话,如果只Encode一次就传过去,会出现两种情况:

    1.Tomcat的decode字符集与你Encode的字符集一致,正常显示中文;

    2.decode与encode字符集不一致,乱码;

    现在假设encode两次,那么:

    tomcat解码一次,将encode一次的字符串传出去;

    程序员手动decode一次,自主指定字符集,只要给定的字符集与编码时一致,就能够成功解码。

    总结:encode两次是为了获取解码字符集的控制权,将解码字符集的设定从Tomcat设值中解放出来,下放到java代码中去,让程序员控制。

    暂时只能了解到这里,后续再补。

    附:搞清tomcat中的编解码  http://www.xuebuyuan.com/1287083.html

    面朝大海,春暖花开。
  • 相关阅读:
    继百岁版之后的续命版的更新
    重启nginx
    酒吧流行游戏不完全手册
    google实时搜索
    ubuntu 支持gbk
    网页编码
    爬虫日志分析
    feedsky 话题 营销
    python时间日期格式转换
    nginx错误重定向
  • 原文地址:https://www.cnblogs.com/HapLe0/p/5967059.html
Copyright © 2011-2022 走看看