TinyMCE 是優秀的開源富文本編輯器,支援多語言。但在 ASP.NET 2.0 預設 Response.ContentEncoding = UTF-8 環境下,中文語言包 (gb2312/gb18030/HZ) 載入會報錯,導致介面顯示異常。
TinyMCE 語言包檔案編碼非 UTF-8,瀏覽器依據 HTTP Response Header Content-Type: text/html; charset=utf-8 解碼 JS 檔案,導致中文亂碼、語言包解析失敗。
在頁面 Page_Load 早期 (或 BasePage) 強制設定回應編碼為中文編碼:
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
// 或 gb18030 / big5 視語言包編碼而定
}
重新編譯執行,編輯器工具列、選單、對話框應正常顯示中文。