編碼不一致:資料庫、PHP 文件、HTML 頁面、資料傳輸四者編碼必須統一。
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
建表同理指定 CHARSET=utf8mb4。
編輯器設置:VS Code、PhpStorm、Notepad++ 均可在右下角或菜單選擇「UTF-8 without BOM」。
<?php
$pdo = new PDO("mysql:host=localhost;dbname=mydb;charset=utf8mb4", $user, $pass);
// 或 mysqli
$mysqli->set_charset('utf8mb4');
// 避免使用舊式 mysql_query('SET NAMES utf8');
?>
<meta charset="utf-8">
<!-- 或 HTML5 簡寫 -->
或 PHP 輸出:
header('Content-Type: text/html; charset=utf-8');
mb_detect_encoding() 偵測字串編碼iconv 強制轉碼,源頭統一才是正道資料庫導出 SQL → 文本編輯器批量替換 charset → 重新導入;PHP 文件批量轉碼保存;前端頁面同步修改 meta 標籤。