首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 檔案編碼宣告與中文註解亂碼徹底解決

     編輯:程式設計綜合問答

問題背景

獨立 .js 檔案若包含中文註解,直接在瀏覽器開啟或引入頁面時,若編碼不一致會顯示亂碼。CSS 可用 @charset "utf-8" 宣告,但 JS 標準無對應機制。

核心原則

  • 檔案實際編碼必須為 UTF-8(無 BOM 最佳)。
  • HTTP 回應標頭 需包含 Content-Type: application/javascript; charset=utf-8。
  • HTML 引入標籤 應加上 charset 屬性:<script src="a.js" charset="utf-8"></script>。

編輯器設定指南

編輯器設定路徑關鍵選項
VS Code右下角編碼標籤 →「以編碼儲存」選 UTF-8(不含 BOM)
Notepad++編碼(E) 菜單選「UTF-8」而非「UTF-8-BOM」
EditPlus / UltraEdit工具 → 參數設定 → 檔案預設編碼設為 UTF-8,取消 BOM
IntelliJ IDEASettings → Editor → File EncodingsGlobal/Project/Properties 全部設 UTF-8

常見誤區

  • 使用 Windows 記事本儲存:預設為 ANSI/UTF-16 LE,極易產生 BOM 或編碼錯誤,強烈不建議。
  • 以為 // @charset "utf-8" 註解生效:JS 引擎會忽略此行,無任何作用。
  • 僅靠 <meta charset="utf-8">:僅影響 HTML 文件本身,不影響外部 JS 載入編碼。

驗證步驟

  1. 用十六進位編輯器開啟 .js,確認中文字元對應 UTF-8 多位元組序列(如「測」= E6 B8 AC)。
  2. 瀏覽器開發者工具 → Network → 檢視 Content-Type 標頭是否含 charset=utf-8。
  3. Console 執行 console.log("測試") 確認輸出正常。
  1. 上一篇文章:
  2. 下一篇文章:
Android 多圖上傳服務端覆蓋問題:檔案命名衝突與解決方案 ASP.NET CheckBox控制DropDownList啟用狀態:AutoPostBack關鍵設置 Java 異常處理核心機制:try-catch 不僅是編譯通過,更是運行時穩定性保障 為何網頁原始碼常見