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

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

Dec 17, 2024 am 11:40 AM

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

減少在Docker中使用MySQL內存的使用 減少在Docker中使用MySQL內存的使用 Mar 04, 2025 pm 03:52 PM

減少在Docker中使用MySQL內存的使用

如何使用Alter Table語句在MySQL中更改表? 如何使用Alter Table語句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

如何使用Alter Table語句在MySQL中更改表?

mysql無法打開共享庫怎麼解決 mysql無法打開共享庫怎麼解決 Mar 04, 2025 pm 04:01 PM

mysql無法打開共享庫怎麼解決

什麼是 SQLite?全面概述 什麼是 SQLite?全面概述 Mar 04, 2025 pm 03:55 PM

什麼是 SQLite?全面概述

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) 在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) Mar 04, 2025 pm 03:54 PM

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

在MacOS上運行多個MySQL版本:逐步指南 在MacOS上運行多個MySQL版本:逐步指南 Mar 04, 2025 pm 03:49 PM

在MacOS上運行多個MySQL版本:逐步指南

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? 如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)? Mar 18, 2025 pm 12:00 PM

如何保護MySQL免受常見漏洞(SQL注入,蠻力攻擊)?

如何為MySQL連接配置SSL/TLS加密? 如何為MySQL連接配置SSL/TLS加密? Mar 18, 2025 pm 12:01 PM

如何為MySQL連接配置SSL/TLS加密?

See all articles