首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

CodePage 與 Charset 徹底解析:從 ASP 到 ASP.NET 的編碼演進

     編輯:關於ASP.NET

核心概念辨析

概念屬於作用常見值
CodePage (代碼頁)服務端/程序字符→字節編碼表936(GBK)、950(Big5)、65001(UTF-8)
Charset (字符集)客戶端/瀏覽器字節→字符解碼聲明gb2312、big5、utf-8

ASP 時代的手動控制

<%@ codepage=936 %> <!-- 服務端編碼 -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <!-- 客戶端聲明 -->

兩者必須一致,否則亂碼。

ASP.NET 自動化機制

<%@ Page Language="C#" %>
<!-- 無需指定 codepage,框架自動處理 -->
<meta charset="utf-8" /> <!-- HTML5 簡寫 -->

web.config 全局控制:

<system.web>
  <globalization requestEncoding="utf-8" responseEncoding="utf-8" 
    fileEncoding="utf-8" />
</system.web>

亂碼根因排查清單

  1. 文件保存編碼(VS 右下角)與 fileEncoding 一致?
  2. 數據庫列排序規則(Collation)與讀寫編碼匹配?
  3. 頁面 <meta charset> 與 responseEncoding 一致?
  4. URL 參數編碼(UrlEncode/UrlDecode)成對使用?
  5. 第三方組件/舊系統集成點編碼轉換正確?

最佳實踐:全鏈路 UTF-8

  • 源文件、數據庫、頁面、傳輸、存儲統一 UTF-8
  • 避免 GBK/Big5 等歷史編碼,除非強制兼容舊系統
  • ASP.NET Core 默認 UTF-8,無需配置
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved