如何查看网页编码格式
打开一个网页,何查满屏乱码。看网方块、页编问号、码格奇怪的何查符号混在一起,你完全不知道它在说什么。看网这不是页编网页坏了,是码格浏览器猜错了编码。 网页编码本质上是何查一套“字典”,告诉浏览器怎么把一串二进制数字翻译成人能看懂的看网文字。最常见的页编坑是:网页本身用GBK编码存的中文,浏览器却按UTF-8去解码,码格结果就是何查一堆“锟斤拷”式的乱码。反过来也一样。看网所以查看编码格式,页编不只是技术人员的活,普通人遇到乱码时也用得上。 大部分浏览器都把这个功能藏得比较深。Chrome的话,右键点击页面空白处,选“检查”,打开开发者工具。别被那一堆代码吓到,顶部菜单栏里找“Console”或者“Network”标签。在Console里输入 Firefox更直接一些。按F12打开开发者工具,在“网络”标签里刷新页面,点第一个请求(通常是域名本身),右侧的“响应头”里找 Edge和Chrome差不多,但有个更快的办法:在地址栏输入 网页的编码声明通常写在HTML的 老一点的网站可能写成: 注意,meta标签声明的编码不一定就是服务器实际发送的编码。如果两者冲突,浏览器一般优先听服务器的。所以有时候你看到源码里写着UTF-8,页面还是乱码,问题出在服务器响应头。 如果你习惯用终端, 看返回的头部信息,找 还有个工具叫 做爬虫的时候,编码搞错,抓下来的全是乱码,后续处理全白费。写前端的时候,编码声明写错,用户看到的就是天书。甚至有时候你下载一个CSV文件,Excel打开乱码,也是编码问题——Excel默认用本地编码去读,而文件可能是UTF-8。 一个真实的例子:某次我帮人处理一个后台导出的CSV,用Excel打开中文全是问号。用记事本打开,另存为时把编码从UTF-8改成ANSI,再用Excel打开就正常了。问题不在数据,在编码。 查看编码格式这件事,工具不难找,难的是意识到“乱码不等于内容坏了”。多数时候,只是解码方式不对。换一种读法,世界就正常了。浏览器里直接看
document.characterSet,回车,它会直接告诉你当前页面用的什么编码。比如返回“UTF-8”或者“GBK”。Content-Type。里面会写着 text/html; charset=UTF-8 这样的内容,charset后面就是编码。view-source: 再加上网页地址,比如 view-source:https://www.example.com。查看源代码,开头几行的 <meta charset="..."> 标签会直接告诉你答案。这个方法我用了很多年,简单粗暴。看HTML源码里的meta标签
<head> 区域。最常见的是这一行:<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
命令行工具查
curl 是最顺手的。运行:curl -I https://www.example.com
Content-Type 那一行。如果写的是 text/html; charset=ISO-8859-1,那这个页面用的就是西欧编码,中文大概率会乱。想更精确一点,用 curl -s https://www.example.com | file -,file 命令会猜一下编码,虽然不保证百分百准,但多数情况够用。chardet,Python里装一个,然后 chardet.detect(open('page.html','rb').read()),它会返回一个置信度。我试过一些老旧的政府网站,服务器头写的是UTF-8,实际内容却是GBK,chardet能识别出来。这种表里不一的情况不少见。为什么你该关心这个
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-