Switch unicode filename test to 3-byte character#503
Switch unicode filename test to 3-byte character#503marxjohnson wants to merge 1 commit intocatalyst:DEPRECATED_masterfrom
Conversation
MySQL 5.7 uses utf8mb3 encoding by default, meaning 4-byte characters (such as emoji) are not supported. This ensures compatibility of the presigned URL testing across databases, and prevents errors when attempting to visit the settings page.
|
From the MySQL docs:
This feels like an antifeature and instead the database encoding should be updated. The whole point of the page is to test non-standard chars (such as an emoji), so my gut feel is this is somewhat like commenting out a failing test. |
|
Following the docs this should be utf8mb4_unicode_ci https://docs.moodle.org/400/en/MySQL_full_unicode_support The question I have is what is our github CI doing here and are we testing on this correctly across the board? |
|
For reference: mariadb:
image: mariadb:10
env:
MYSQL_USER: 'root'
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_CHARACTER_SET_SERVER: "utf8mb4"
MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci" |
|
I've set this here |
|
Thanks @Peterburnett , The requirement of the fix on this branch wasn't to support emoji specifically, but to support characters outside of the ISO-8859-1 character set, which this still proves. |
|
@marxjohnson is this still needed? |
|
@brendanheywood Per https://dev.mysql.com/doc/refman/8.0/en/charset.html the default encoding is now mb4, so I think we can close this. |
MySQL 5.7 uses utf8mb3 encoding by default, meaning 4-byte characters
(such as emoji) are not supported. This ensures compatibility of the
presigned URL testing across databases, and prevents errors when
attempting to visit the settings page.