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);
// 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', '');
utf8mb4_general_ci。<meta charset="utf-8">。SET NAMES utf8mb4 或對應 API。注意:mysql_*函數自 PHP 7.0 起已移除,新專案請改用mysqli或PDO。