我们都知道浏览器是依据<meta charset> 编写的字符来确定网页的编码的,新的Web标准要求尽量使用 UTF-8,如果没有制定那么就是按utf-8来指定的。
问题就在这,我最近遇到一个比较特殊的情况,一个网页是charset设置的是gb2312,但是实际上这个网页的编码使用的是utf-8,所以这个引起了我的注意。
服务器返回的html给浏览器对于的二进制数据,浏览器获取之后,会先猜测网页的编码,如果猜对了,那么就直接显示了,如果猜错才会使用charset上的编码,这样就解释了为什么在charset写错的情况下,网页还能正常显示,我测试了好几个浏览器,chrome,edge,搜狗,甚至世界之窗都试过了,都可以正常显示。
如果想了解关于UTF-8 和 GBK 的区别可以查看一下网页【https://www.runoob.com/note/56005】
网友评论