【找bug】HTML兼容性好也不是好事

问题:

1、同事处理html文件,本地打开正常,但是上传到OSS, 浏览网页,中文就显示成乱码

2、他觉得是编码问题,文件编码问题,尝试了很多遍都没解决,求助于我

分析:

1、我以为是编码问题,打开乱码网页,下载到本地,用UE打开,确认中文是UTF8编码,没有问题,文件用ASCII编码也没问题

<html>
<meta charset=utf-8">

  

2、本地用chrome打开,显示正常。那说明UTF8编码正常

3、我比对了http请求里面的 request 和response 的头域,发现和能正常显示的HTML请求一样(都是同一个OSS 上的html)

几个思路都歇火了。。。重新思考,为何看上去很正常的UTF8文本,浏览器就是不按UTF8解析而是用ASCII码解析

把UTF8这一行换掉,加一个标准UTF8的meta头,突然发现,少了个左边引号 “

问题一下就找到了,原来是没有真正告诉Chrome浏览器,用UTF8去解码。。

以前的浏览器,用户还能手动切换编码看网页效果,现在则没有了;

而chrome打开本地html文件显示正常, 我理解是 本地打开文件 有做兼容性校验,发现了引号缺少,自动补齐了。

结论:

思维被提问同事误导到编码异常去了; 没有一开始就看到 html文件格式不准确的问题;

Chrome浏览器的二义性 也有很大的误导作用。给用户体验做减法,对研发人员就不那么友好了(兼容能力,无法查看/更改当前显示用的编码方式)

猜你喜欢

转载自www.cnblogs.com/njxuyufeng/p/12516573.html
今日推荐