VS Code 中 HTML 乱码问题解析

在 HTML 中使用   会导致页面乱码,而不使用则正常,原因与字符编码声明有关。

问题现象

在编写 HTML 文件时,如果使用了   这个 HTML 实体,页面会出现乱码;而如果不使用它,则一切正常。很多开发者都遇到过类似情况。

原因分析

  •   是 HTML 中的非断行空格实体,它本身不是乱码的根源。
  • 乱码通常是因为字符编码声明(如 <meta charset="UTF-8">)缺失、位置错误,或文件实际保存的编码与声明不一致。
  • 当 &nbsp; 被错误解析(例如文件以 GBK 编码保存但声明为 UTF-8)时,就可能显示为乱码。

解决方法

  1. 确保 HTML 文件第一行包含正确的编码声明:
    html
    1
    <meta charset="UTF-8">
  2. 在 VS Code 中,检查右下角编码状态(如 UTF-8),并确保文件以该编码保存(可通过“文件”>“另存为”选择编码)。
  3. 避免在 <meta> 声明之前出现任何字符(包括空格或注释),否则可能导致浏览器无法正确识别编码。

参考图片

问题截图1
问题截图2
问题截图3
问题截图4