• 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请求,服务端肯定会根据自己的情况进行合适的编码,无需关心中文等问题。

  • 相关阅读:
    mysql 查看存储过程 并导出
    mysql 添加记录或者删除记录
    mysql 修改表的字段
    搭建docker私有仓库
    安装gitlab并配置邮箱
    Mac 安装MySQL-python
    android studio 调试安装
    给定日期求星期几
    数字三角形
    程序设计实训-课程表管理系统项目中遇到的问题
  • 原文地址:https://www.cnblogs.com/shengxinking/p/3835656.html
Copyright © 2020-2023  润新知