修正MySQL 中的「錯誤字串值」錯誤
背景:
儘管配置了文字使用UTF-8 字元集和排序規則的列,某些電子郵件地址繼續觸發「字串值不正確」錯誤。本文探討了這些錯誤的根本原因並提供了解決方案。
原因:
錯誤訊息表示受影響的電子郵件地址包含目前字元不支援的字元設定配置。儘管 UTF-8 通常是允許的,但某些字元序列可能會超出其限制。
解決方案:
檢查資料庫連線:建立MySQL連線後,執行下列 SQL 語句:
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
這會設定字元集和目前連接到 UTF-8的排序規則,每個字元四個位元組(utf8mb4).
驗證表字元集:對於包含受影響電子郵件地址的表,執行以下查詢來檢查字元集:
SELECT `tables`.`TABLE_NAME`, `collations`.`character_set_name` FROM `information_schema`.`TABLES` AS `tables`, `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations` WHERE `tables`.`table_schema` = DATABASE() AND `collations`.`collation_name` = `tables`.`table_collation` ;
確保字元集設定為utf8mb4.
檢查資料庫設定:執行下列 MySQL語句來驗證全域字元集和排序規則設定:
mysql> show variables like '%colla%'; mysql> show variables like '%charac%';
確保字元集和排序規則都設定為utf8mb4.
修復效果:
修復效果:使用utf8mb4增加了支援的字元範圍,並消除了電子郵件地址的“字串值不正確”錯誤擴充字元。它還可以提高資料庫與國際資料和未來 Unicode 標準的兼容性。以上是為什麼我的 UTF-8 MySQL 資料庫中仍然出現「字串值不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!