[wp-trac] [WordPress Trac] #53623: MariaDB 10.6 renamed utf8 to utf8mb3

WordPress Trac noreply at wordpress.org
Mon Aug 22 15:38:14 UTC 2022


#53623: MariaDB 10.6 renamed utf8 to utf8mb3
--------------------------+-----------------------------
 Reporter:  skithund      |       Owner:  SergeyBiryukov
     Type:  defect (bug)  |      Status:  closed
 Priority:  normal        |   Milestone:  6.1
Component:  Database      |     Version:
 Severity:  normal        |  Resolution:  fixed
 Keywords:  has-patch     |     Focuses:
--------------------------+-----------------------------
Changes (by SergeyBiryukov):

 * owner:  (none) => SergeyBiryukov
 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"53918" 53918]:
 {{{
 #!CommitTicketReference repository="" revision="53918"
 Database: Account for `utf8` being renamed to `utf8mb3` in newer MariaDB
 and MySQL versions.

 From [https://mariadb.com/kb/en/mariadb-1061-release-notes/ MariaDB 10.6.1
 release notes]:
 > The `utf8` [https://mariadb.com/kb/en/character-sets/ character set]
 (and related collations) is now by default an alias for `utf8mb3` rather
 than the other way around. It can be set to imply `utf8mb4` by changing
 the value of the [https://mariadb.com/kb/en/server-system-
 variables/#old_mode old_mode] system variable
 ([https://jira.mariadb.org/browse/MDEV-8334 MDEV-8334]).
 From
 [https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html#mysqld-8-0-30-charset
 MySQL 8.0.30 release notes]:
 > **Important Change:** A previous change renamed character sets having
 deprecated names prefixed with `utf8_` to use `utf8mb3_` instead. In this
 release, we rename the `utf8_` collations as well, using the `utf8mb3_`
 prefix; this is to make the collation names consistent with those of the
 character sets, not to rely any longer on the deprecated collation names,
 and to clarify the distinction between `utf8mb3` and `utf8mb4`. The names
 using the `utf8mb3_` prefix are now used exclusively for these collations
 in the output of `SHOW` statements such as `SHOW CREATE TABLE`, as well as
 in the values displayed in the columns of Information Schema tables
 including the `COLLATIONS` and `COLUMNS` tables.

 This commit adds `utf8mb3_bin` and `utf8mb3_general_ci` to the list of
 safe collations recognized by `wpdb::check_safe_collation()`. The full
 list is now as follows:
 * `utf8_bin`
 * `utf8_general_ci`
 * `utf8mb3_bin`
 * `utf8mb3_general_ci`
 * `utf8mb4_bin`
 * `utf8mb4_general_ci`

 The change is covered by existing database charset unit tests: six tests
 which previously failed on MariaDB 10.6.1+ or MySQL 8.0.30+ now pass.

 Includes:
 * Adjusting the expected test results based on MariaDB and MySQL version.
 * Using named data providers for the affected tests to make test output
 more descriptive.
 * Adding a failure message to each assertion when multiple assertions are
 used in the test.

 References:
 * [https://mariadb.com/kb/en/mariadb-1061-release-notes/ MariaDB 10.6.1
 release notes]
 * [https://jira.mariadb.org/browse/MDEV-8334 MDEV-8334 Rename utf8 to
 utf8mb3]
 *
 [https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html#mysqld-8-0-30-charset
 MySQL 8.0.30 release notes]
 * [https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html
 The utf8mb3 Character Set (3-Byte UTF-8 Unicode Encoding)]

 Follow-up to [30345], [32162], [37320].

 Props skithund, ayeshrajans, JavierCasares, SergeyBiryukov.
 Fixes #53623.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/53623#comment:12>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list