Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux Apache 解決 GBK/GB2312 網頁亂碼:httpd.conf AddDefaultCharset 五種修正方案

編輯:關於 Linux

Apache 預設 AddDefaultCharset UTF-8 導致 GBK/GB2312 編碼頁面顯示亂碼。透過修改 /etc/httpd/conf/httpd.conf 中的字集設定,提供五種修正方案:改為 GB2312、註解掉、設為 OFF、配合 DefaultLanguage、重啟驗證。

Apache 編碼設定示意圖

定位設定檔

vi /etc/httpd/conf/httpd.conf
# 搜尋 AddDefaultCharset

五種修正方案 (擇一)

  1. 指定 GB2312:AddDefaultCharset GB2312
  2. 註解停用 (推薦):#AddDefaultCharset UTF-8
    讓瀏覽器依頁面 <meta charset> 自行判斷
  3. 明確關閉:AddDefaultCharset Off
  4. 方案 2/3 任選一後重啟:service httpd restart 或 systemctl restart httpd
  5. 配合語言設定:找到 DefaultLanguage nl 改為 DefaultLanguage zh-CN,再執行方案 1

方案選擇建議

方案優點缺點適用場景
改 GB2312強制統一輸出編碼UTF-8 頁面會誤判純 GBK 老專案
註解/Off (推薦)尊重頁面 meta 標籤、相容多編碼共存頁面無 meta 時瀏覽器需猜測混合編碼、現代專案
配合 DefaultLanguage針對中文優化語言協商作用有限輔助方案

現代最佳實踐

  • 統一專案編碼為 UTF-8 (資料庫、PHP/Python/Java、HTML meta、資料庫連線字集)
  • Apache 設定 AddDefaultCharset Off 或註解
  • Nginx 同理:charset off; 或 charset utf-8; 視專案而定
Copyright © Windows教程網 All Rights Reserved