此utf8 非彼utf8 ——谈http协议里的编码问题

 我这里看两个编码:

BDPAGETYPE: 2
BDQID: 0xc92b034d0bc985e8
BDUSERID: 809441751
Cache-Control: private
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 13047
Content-Type: text/html;charset=utf-8
Date: Mon, 16 Sep 2013 03:50:00 GMT
Expires: Mon, 16 Sep 2013 03:50:00 GMT
Server: BWS/1.0
Set-Cookie: BDSVRTM=91; path=/
Set-Cookie: H_PS_PSSID=3361_2777_1431_2976_3312; path=/; domain=.baidu.com
Vary: Accept-Encoding

上面这段代码是访问百度的时候返回的http包的头部,大家看这个红色的部分,这里有个charset=utf-8

我们再看一个事例

<!Doctype html><html xmlns=http://www.w3.org/1999/xhtml><head><meta http-equiv=Content-Type content="text/html;charset=utf-8"><meta http-equiv=X-UA-Compatible content=IE=EmulateIE7><title>百度一下,你就知道 </title>

这是返回的html代码里的,这里面也有个charset=utf-8 这两个是表达的一个意思吗?答案是否定的

下面我们就详细解释下这两个地方:

先看第二个,下面的例子

<form action="" method="post">

<input type="text" value="你好" name="kw">

</form>

提交数据的时候回变成这样 kw=%E4%BD%A0%E5%A5%BD

回对form表单里的数据进行utf-8编码

我们再看第一个charset=utf-8,这个又是表示的什么呢?

大家看到了没,第一个charset=utf-8表示的是文件的编码格式;你们当文件什么格式的时候 http包返回的头部就是什么吗?答案是否定的。

http包的头部的编码的信息不是根据文件而变化的、是通过web服务器iis、apache等配置的,所有当第一个UTF-8 和硬盘上网页文件的表编码格式不一样的时候,乱码就产生了

 

转载于:https://www.cnblogs.com/blowfish/p/3324053.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值