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

IIS 錯誤訊息顯示亂碼:ASP 預設編碼與站點編碼不一致

     編輯:程式設計綜合問答

現象

IIS 站點運行 ASP 程式發生錯誤時,瀏覽器顯示的錯誤資訊出現亂碼(非一般網頁編碼問題),中文被替換為問號或亂碼字符。

根本原因

ASP 內建錯誤頁面預設使用 GB2312 編碼輸出,而現代站點多採用 UTF-8。瀏覽器按 UTF-8 解碼 GB2312 內容,導致中文錯位顯示為亂碼。

解決方案

  1. 修改 ASP 錯誤頁編碼:在 %windir%\system32\inetsrv\asp.dll 相關資源中調整,或使用自訂錯誤頁。
  2. 站點統一編碼:在 web.config 或 ASP 頁面頂部強制指定 Response.CodePage = 65001(UTF-8),並確保 Response.Charset = "utf-8"。
  3. 自訂錯誤頁:在 IIS 設定「自訂錯誤」指向 UTF-8 編碼的 .asp/.aspx 頁面,完全控制輸出編碼。

驗證方式

故意製造一個 ASP 語法錯誤,觀察瀏覽器原始碼的 Content-Type 標頭與實際位元組編碼是否一致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved