為什麼在將表情符號插入 MySQL 時出現「字串值不正確」錯誤?

Mary-Kate Olsen
發布: 2024-11-27 09:59:10
原創
435 人瀏覽過

Why Do I Get

無法將表情符號插入MySQL:錯誤的字串值['xF0x9Fx91xBDxF0x9F...']

嘗試插入包含以下內容的字串值時將表情符號匯入MySQL資料庫時,使用者可能會遇到以下錯誤:java.sql.SQLException:字串值不正確:「xF0x9Fx91xBDxF0x9F...」。此問題源自於資料庫的編碼限制。

了解表情符號編碼

表情符號,例如外星人和破碎的心,通常表示為 Unicode 代碼點。這些代碼點可能位於 MySQL utf8 編碼支援的基本多語言平面 (BMP) 之外。因此,這些字元無法儲存在 utf8 列中。

解決方案:升級到 'utf8mb4' 編碼

要解決此問題,需要切換到utf8mb4 編碼,支援增補字元。這種編碼需要四個位元組來儲存一個字符,而 utf8 最多只能儲存三個位元組。

實作 'utf8mb4' 編碼的步驟:

  1. 確保您的 MySQL 版本為 5.5 或更高。
  2. 將連線編碼設定為 utf8mb4使用查詢:SET NAMES 'utf8mb4'。
  3. 將資料庫字元集和排序規則調整為 utf8mb4:ALTER DATABASE [database_name] CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci。
  4. 建立或修改表格有問題的欄位:ALTER TABLE [table_name] CHANGE [column_name] [new_column_definition] CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci。

按照以下步驟,您可以更新資料庫環境以支援表情符號字元並避免出現錯誤字串值異常。

以上是為什麼在將表情符號插入 MySQL 時出現「字串值不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板