网页页面乱码问题检查

页面乱码

1.问题介绍

页面乱码是用户在浏览网页时较大可能遇到得问题,这一类问题原因可能有很多。

首先我们可以分析到底有哪些可以指定本文本的具体编码
1.文本前的BOM头
2.http头中得charset字段
3.用户选择编码
4.html得meta标签中可以携带charset
5.自动检测(ICU)
6.父frame编码

如果前六项都没有检查出来将使用默认编码

2.分析问题过程

由于知道检查编码顺序,我们就可以一一梳理查看是哪里出现问题
通常情况下我们可以优先查看这三个

1.查看cap包中http头是否有填写charset。服务器搭建者可能指定错了charset,也有可能在偶然情况下http服务器抽风发送错误charset或者没有发charset
2.html头部是不是丢了meta标签
3.进入了自动检查流程,但是对于中文ICU检查一般都不正常

前两步骤都没什么难度,主要是查看cap log中是否有正常的设置,以及和正常情况对比是否有差异。

如果前两点都没有问题,那么在
chromium_dev/chromium/src/third_party/WebKit/Source/core/html/parser/TextResourceDecoder.cpp得decode方法中
对最后得autodetect部分以及最后得result添加log,查看是否为自动检查的问题

3.相关调试技巧

本问题相关调试技巧主要涉及查看cap log

4.解决方法

如果是外部原因导致,如http服务器本该设置charset却没有设置等原因导致,则没有太好的办法可以解决。
如果是自动检查出现异常,则可能需要强制给与m_hintEncoding让自动检查编码模块能够优先考虑该编码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容