确保文件保存编码、http响应头、服务端解码三者均为utf-8且无bom,否则失效;css中文路径需encodeuricomponent(),nginx需配置uri解码。

直接改 <meta charset> 不够,必须同时确保文件保存编码、HTTP 响应头、服务端解码三者一致,缺一不可。
确认 HTML 文件实际保存编码
VS Code 默认 Windows 下可能存为 UTF-8 with BOM,而 <meta charset="utf-8"> 会因 BOM(ef bb bf)被跳过失效。Notepad++ 里选「编码 → 转为 UTF-8」(不是「UTF-8-BOM」)。命令行验证:head -c 4 yourfile.html | xxd,输出不含 ef bb bf 才算干净 UTF-8。
检查浏览器收到的 HTTP 响应头
打开 DevTools → Network → 刷新 → 点 HTML 请求 → Headers → Response Headers,看 Content-Type 是否含 charset=utf-8。Nginx 配置要写 charset utf-8;(不是 charset iso-8859-1;),Apache 要在 .htaccess 加 AddDefaultCharset UTF-8。若响应头是 text/html; charset=gbk,<meta> 标签会被忽略。
服务端路径含中文时额外注意
<img src="%E5%9B%BE%E7%89%87.jpg"> 能显示,不代表 background-image: url("图片.jpg") 或 JS 动态赋值能用。CSS 的 url() 不自动编码,必须手动 encodeURIComponent();Nginx 收到 /图片.jpg 请求后,需配置 location 块启用 URI 解码(如用 rewrite + try_files 绕过默认不 decode 的行为),否则磁盘文件名匹配失败。
最容易被忽略的是:BOM 和响应头冲突、CSS 中文路径未 encode、Nginx 默认不 decode 已编码路径——这三处任一出错,<meta charset="utf-8"> 写得再标准也没用。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











