[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