找回密碼
 註冊
搜索
查看: 63|回復: 0

[問題] MySQL 回應: 說明文件 #1366 - Incorrect string value: '\xF0\x9F\x92\xAA\xE2\x9C

[複製鏈接]
發表於 昨天 23:35 | 顯示全部樓層 |閱讀模式
Push to Facebook
這個錯誤是因為您嘗試插入的資料包含 4個位元組的特殊字元(如 Emoji 表情符號),而 MySQL 預設的 utf8 編碼最多只支援 3 個位元組。
要徹底解決此問題,您需要將資料表和欄位的編碼改為 utf8mb4

🛠️ 解決步驟


1. 修改資料庫與資料表編碼

您可以透過 SQL 指令直接將目標資料庫和資料表的編碼更改為 utf8mb4:

sql
  1. -- 1. 修改資料庫預設編碼
  2. ALTER DATABASE 資料庫名稱 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

  3. -- 2. 修改資料表編碼
  4. ALTER TABLE 資料表名稱 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  5. -- 3. (可選) 若只需針對特定欄位處理
  6. ALTER TABLE 資料表名稱 MODIFY 欄位名稱 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
複製代碼



2. 檢查連線設定 (非常重要!)

若您的資料表已經是 utf8mb4,但程式寫入時仍報錯,代表應用程式與資料庫的連線編碼仍是 utf8。請確保連線時執行了這行指令:

sql
  1. SET NAMES utf8mb4;
複製代碼

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2026-6-16 01:37 , Processed in 0.056405 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表