码迷,mamicode.com
首页 > Web开发 > 详细

网页乱码原理

时间:2017-08-26 23:30:07      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:tor   技术分享   解码   charset   har   没有   乱码问题   str   百度   

做博客项目中遇到浏览器的参数提交到服务器产生乱码现象,于是对乱码问题一探究竟。

1、网页乱码是怎么发生的

为了搞清楚,这个网页乱码可能出现的情况,我把网页的chaset,文件的编码方式和response的编码格式都作为变量来测试。结果如下:

技术分享

 

由此我断定,网页的编码方式和解码方式一样的时候,才不会出现乱码现象。而浏览器的解码方式response的header设置的charset  >  meta charset。

2、浏览器给服务器传参乱码

浏览器给服务器传参乱码,有可能是浏览器在传给服务器之前就乱码了,也有可能是传给服务器,然后服务器的解码方式和传过来的参数的编码不一致导致的乱码;

 服务器解码方式不一致,服务器需要加一个拦截器进行解码。

但是为什么,会在传给服务器之前就乱码呢。比如我使用百度的ueditor,在页面是gbk的环境下,上传图片,图片的名字是中文,就会出现filename字段在还没上传到服务器的时候就乱码了;但是,如果页面环境是utf-8的时候,就不会出现这样的问题。

我猜是浏览器浏览网页,该网页是以什么编码解析的,就会以什么编码去解析它需要读取的文件,而且是它的变量在内存中也是以这种编码保存的(如果不用js设置变量的编码方式的话;实际上我不知道有没有方法可以用js转换传过去服务器的变量的编码方式,如果有欢迎告知),当遇到这种编码不支持的字符的时候,就乱码了,这个时候还没发送到服务器。

再比如一个,gbk的网页,引入了编码方式为utf-8的js文件,这个js里面的中文就会出现乱码。

 

网页乱码原理

标签:tor   技术分享   解码   charset   har   没有   乱码问题   str   百度   

原文地址:http://www.cnblogs.com/thonus/p/7435982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!