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

PHP 連接 MySQL 亂碼終極解決方案:設定連線編碼

     編輯:PHP 相關知識

亂碼根因

PHP 連接 MySQL 後未顯式設定連線字元集,導致資料庫預設編碼(常為 latin1)與應用編碼(UTF-8/GBK)不一致。

解決代碼

$link = mysql_connect('localhost', 'root', '');
mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary", $link);

現代最佳實踐(PDO / mysqli)

// mysqli 程序風格
$mysqli = new mysqli('localhost', 'root', '', 'dbname');
$mysqli->set_charset('utf8mb4'); // 推薦 utf8mb4 支援 emoji

// PDO
$pdo = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8mb4', 'root', '');

完整檢查清單

  1. 資料庫、表、欄位編碼統一為 utf8mb4_general_ci。
  2. PHP 檔案儲存為 UTF-8 無 BOM。
  3. HTML 頁面宣告 <meta charset="utf-8">。
  4. 連線建立後立即執行 SET NAMES utf8mb4 或對應 API。
注意: mysql_* 函數自 PHP 7.0 起已移除,新專案請改用 mysqli 或 PDO。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved