-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch unicode filename test to 3-byte character #503
base: DEPRECATED_master
Are you sure you want to change the base?
Switch unicode filename test to 3-byte character #503
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. |
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.