首頁 > 資料庫 > mysql教程 > 為什麼我的 UTF-8 MySQL 資料庫中仍然出現「字串值不正確」錯誤?

為什麼我的 UTF-8 MySQL 資料庫中仍然出現「字串值不正確」錯誤?

Patricia Arquette
發布: 2024-12-17 11:40:24
原創
593 人瀏覽過

Why Am I Still Getting

修正MySQL 中的「錯誤字串值」錯誤

背景:

儘管配置了文字使用UTF-8 字元集和排序規則的列,某些電子郵件地址繼續觸發「字串值不正確」錯誤。本文探討了這些錯誤的根本原因並提供了解決方案。

原因:

錯誤訊息表示受影響的電子郵件地址包含目前字元不支援的字元設定配置。儘管 UTF-8 通常是允許的,但某些字元序列可能會超出其限制。

解決方案:

  1. 驗證資料編碼:確保來源資料(電子郵件地址)真正編碼在UTF-8.
  2. 檢查資料庫連線:建立MySQL連線後,執行下列 SQL 語句:

    SET NAMES 'utf8mb4';
    SET CHARACTER SET utf8mb4;
    登入後複製

    這會設定字元集和目前連接到 UTF-8的排序規則,每個字元四個位元組(utf8mb4).

  3. 驗證表字元集:對於包含受影響電子郵件地址的表,執行以下查詢來檢查字元集:

    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.

  4. 檢查資料庫設定:執行下列 MySQL語句來驗證全域字元集和排序規則設定:

    mysql> show variables like '%colla%';
    mysql> show variables like '%charac%';
    登入後複製

    確保字元集和排序規則都設定為utf8mb4.

修復效果:

修復效果:使用utf8mb4增加了支援的字元範圍,並消除了電子郵件地址的“字串值不正確”錯誤擴充字元。它還可以提高資料庫與國際資料和未來 Unicode 標準的兼容性。

以上是為什麼我的 UTF-8 MySQL 資料庫中仍然出現「字串值不正確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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