必须作为中第一个可执行标签,紧贴开始标记之后,前面不能有任何字符(包括注释、空格、BOM或),否则浏览器前1024字节内无法识别编码,将回退至默认编码导致中文乱码。

必须作为
中第一个可执行标签,紧贴
开始标记之后,且前面不能有任何内容干扰。
必须放在
最开头
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
浏览器是流式解析 HTML 的,从第一字节开始读取。它会在前 1024 字节内尝试识别编码;如果此时还没遇到 ,就会 fallback 到默认编码(如 Windows 下常为 GBK,macOS/Linux 下多为 ISO-8859-1)。一旦用错编码解码了
不能被其他标签或内容遮挡
需要是
内首个“可执行”的标记——即不被注释包裹、不被 JS 动态插入、不被空格/换行前置。浏览器不会跳过空白或注释去“找”它,而是按顺序逐字节处理。- 以下全部无效:
\n (换行+空格也算前置)标题 (在前,已触发错误解码) 文件实际编码必须与声明一致
声明
charset="UTF-8" 没有用,如果 HTML 文件本身不是 UTF-8 编码(比如用 GBK 保存却声明 UTF-8),浏览器仍会按声明去解码,结果仍是乱码。- 用编辑器(如 VS Code、Notepad++)确认并转换文件编码:选“编码 → 保存为 UTF-8(无 BOM)”
- 避免使用 Windows 记事本直接保存,它默认可能用 ANSI 或 UTF-16
- 可通过命令行检查:
file -i index.html(Linux/macOS)或 PowerShell 中用Get-Content index.html -Encoding Byte | Select -First 3 查 BOMHTTP 响应头优先级更高,但不可依赖
浏览器识别编码的顺序是:HTTP Content-Type 响应头 > > BOM > 默认编码。如果服务器返回
Content-Type: text/html; charset=GBK,那 就会被忽略。- 本地打开 file:// 协议时,HTTP 头不存在,完全依赖 和 BOM
- 开发阶段用本地服务器(如 Python 的
python -m http.server)测试,避免 file:// 下的不可控行为- Apache 可加
AddDefaultCharset UTF-8;Nginx 配置charset utf-8; - Apache 可加
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










