首頁  >  文章  >  資料庫  >  MySQL 如何解釋 UTF-8 表中的 VARCHAR 長度?

MySQL 如何解釋 UTF-8 表中的 VARCHAR 長度?

DDD
DDD原創
2024-11-21 07:25:11311瀏覽

How Does MySQL Interpret VARCHAR Lengths in UTF-8 Tables?

在MySQL 中解碼VARCHAR 長度和UTF-8

在MySQL 中建立VARCHAR 欄位時,會出現關於資料儲存容量的常見資料儲存容量的常見誤解。使用者可以假設 UTF-8 表中的 VARCHAR(32) 字段可以容納 32 個位元組或 32 個字符,以較大者為準。然而,實際的解釋取決於所使用的 MySQL 版本。

版本 4 與版本 5

在 4.1 之前的 MySQL 版本中,VARCHAR 長度以位元組為單位。因此,VARCHAR(32) 欄位最多可以儲存 32 個位元組的資料。但是,在 MySQL 版本 5 及更高版本中,VARCHAR 長度以字元單位解釋。因此,UTF-8 表中的 VARCHAR(32) 欄位最多可以容納 32 個字元。

MySQL 官方文件

為了澄清這個問題,MySQL 官方文件5 文件中明確指出:

「MySQL 以字元為單位解釋字元列定義中的長度規格。 TEXT 類型。例如,UTF-8 字元每個字元最多需要三個位元組。因此,使用 UTF-8 的 VARCHAR 欄位最多可聲明為 21,844 個字元。這受到最大行大小 65,535 位元組的限制。

以上是MySQL 如何解釋 UTF-8 表中的 VARCHAR 長度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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