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

WordPress 安裝遇到中文亂碼解決:啟用 php_mysql.dll 而非 mysqli

     編輯:PHP 綜合知識

WordPress 安裝步驟訪問 wp-admin/install.php 時出現亂碼:
鎮ㄧ殑 PHP 浼間箮娌℃湁瀹夎杩愯 WordPress 蹇呴』鐨 MySQL 鎷撳睍
經排查非資料庫連線參數錯誤,而是 PHP MySQL 擴展模組未正確載入導致字元集處理異常。

原因分析

  • WordPress 早期版本核心程式碼依賴 mysql 擴展(php_mysql.dll),而非 mysqli。
  • 若 php.ini 僅啟用 extension=php_mysqli.dll,WordPress 內部 mysql_connect() 等函式找不到,導致連線失敗、錯誤訊息編碼錯亂顯示為亂碼。

解決步驟 (Windows + Apache + PHP)

  1. 確認 PHP ext 目錄存在 php_mysql.dll。
  2. 複製 php_mysql.dll 到 PHP 根目錄(與 php.exe 同層),某些舊版 PHP 需此步驟。
  3. 編輯 php.ini,取消註釋:
    extension=php_mysql.dll
  4. 重啟 Apache:httpd -k restart 或服務管理器重啟。
  5. 重新訪問 wp-admin/install.php,安裝畫面正常顯示中文。

現代環境補充說明

  • PHP 7.0+:已移除 mysql 擴展,WordPress 3.7+ 完全支援 mysqli 與 PDO_MySQL。若使用新版 PHP+WordPress,無需 此操作。
  • 字元集最佳實踐:wp-config.php 設定 define('DB_CHARSET', 'utf8mb4');,資料庫建表 CHARSET=utf8mb4,確保完整 Unicode 支援(含 Emoji)。
  • 亂碼通用排查:
    1. 資料庫連線字元集:SET NAMES utf8mb4
    2. PHP 檔案儲存編碼:UTF-8 無 BOM
    3. HTML 輸出標頭:header('Content-Type: text/html; charset=utf-8');
    4. Apache AddDefaultCharset utf-8

此問題多見於舊版 PHP(5.3/5.4/5.6)搭配舊版 WordPress 環境,現代棧已不再遇到。記錄在此供維護舊專案參考。

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