标签:asc bsp 原来 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浏览器的二义性 也有很大的误导作用。给用户体验做减法,对研发人员就不那么友好了(兼容能力,无法查看/更改当前显示用的编码方式)
标签:asc bsp 原来 html 手动 这一 网页 本地 上传
原文地址:https://www.cnblogs.com/njxuyufeng/p/12516573.html