zoukankan      html  css  js  c++  java
  • http解码-3

    http://blog.sina.com.cn/s/blog_6590118a01013a1i.html

    如果想准确获取访问一个站点的编码方式,只能从页面meta信息中的charset获取。而这需要解析服务器返回的页面信息,对我们是不可接受的。

    侥幸的是,目前国内的大多数站点的编码方式为GB2312GB18030GBK(网易采用GBK编码),新增站点多为UTF-8

    http://wade6.iteye.com/blog/1744463

    下面讨论的编码对象是ASCII码范围以外的字符。ASCII码范围的字符不需要编码。

    1、地址栏中的Get请求的url

    • 在中文环境中,IE默认对URL的Path部分会采用UTF-8来进行编码,参数部分采用GBK来编码;
    • FireFox对URL的Path和参数都采用GBK进行编码。

    2、页面中链接的Get请求url

    • 在中文环境中,IE对URL的Path部分都会采用UTF-8来进行编码,而参数部分会根据当前页面的编码确定;
    • FireFox对URL的Path和参数都会采用当前页面的字符集来进行编码。

    3、浏览器做普通Post提交url

    • 采用当前页面的字符集进行编码(浏览器大多数时候会根据Http返回头中的Content-Type来确定当前页面的字符集,如果我们想要设定表单提交时所用的字符集编码方式,可以用设定Http返回头中Content-Type的值来实现)。

    4、浏览器做Ajax Get提交url

    • 根据浏览器的不同,编码时采用的字符集也是不同的;
    • FireFox始终采用UTF-8;
    • IE会根据本地浏览器的字符集配置来确定采用的字符集。

    5、浏览器做Ajax Post提交url

    • 始终会采用UTF-8进行字符集编码(它决定于XMLHttpRequest的实现)。

    6、总结

    由于不同浏览器对get请求的编码方式不同,所以web应用的访问路径及get请求的参数(直接在url中输入的情况下)基本都使用数字和字母表示,很少用中文等其他ASCII码范围之外的字符,以免出现乱码问题。

    如果是返回页面中的get请求,服务端肯定会根据自己的情况进行合适的编码,无需关心中文等问题。

  • 相关阅读:
    课堂Scrum站立会议演示
    每周工作进度及工作量统计
    连连看的设计与实现——四人小组项目(GUI)
    连连看的设计与实现——四人小组项目(NABCD)
    用户模板和用户场景
    对MySQL 存储过程中乱码的破解
    MySQL数据库同步的实现
    解决MySQL无法远程访问的3方案
    使用SQL Server 2014内存数据库时需要注意的地方
    navicat for sql server中文版|SQL Server管理及开发工具(Navicat for SQL Server)下载 v11.2.13
  • 原文地址:https://www.cnblogs.com/shengxinking/p/3835656.html
Copyright © 2011-2022 走看看