utf8mb4 support #695

Open
opened 2026-10-05 00:12:16 +02:00 by adam · 5 comments
Owner

Piwigo currently supports the 3byte utf8 not the full one

Piwigo currently supports the 3byte utf8 not the full one <!-- github-sync-id:254626120 -->
Author
Owner

utf8mb3 is deprecated in favour of the utf8mb4 character set, which uses standards-compliant UTF-8 encoding.
Could this be finally implemented?

utf8mb3 is deprecated in favour of the utf8mb4 character set, which uses standards-compliant UTF-8 encoding. Could this be finally implemented? <!-- github-comment-id:752135814 -->
Author
Owner

For now, I have absolutely no idea where/how it may be a problem or how to switch from utf8mb3 to utf8mb4.

For now, I have absolutely no idea where/how it may be a problem or how to switch from utf8mb3 to utf8mb4. <!-- github-comment-id:752138001 -->
Author
Owner

I see several reasons:

  • Most European and Middle East script letters fit into a 2-byte sequence: extended Latin letters (with tilde, macron, acute, grave and other accents), Cyrillic, Greek, Armenian, Hebrew, Arabic, Syriac, and others. But Korean, Chinese and Japanese ideographs use 3-byte or 4-byte sequences, as well as Emojis.
  • The utf8mb3 character set is deprecated in MySQL 8.
  • People start saving files with names including emojis. Photos downloaded from the web sometimes come with UTF-8 encoded filenames using the 4th byte. Uploading such photos with the iOS app fails and the only solution I have found today is to replace unsupported chars with for example '?' because the 3-byte version is not supported by Apple.

As for the conversion, this may help you:
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-conversion.html

I see several reasons: - Most European and Middle East script letters fit into a 2-byte sequence: extended Latin letters (with tilde, macron, acute, grave and other accents), Cyrillic, Greek, Armenian, Hebrew, Arabic, Syriac, and others. But Korean, Chinese and Japanese ideographs use 3-byte or 4-byte sequences, as well as [Emojis](https://unicode.org/emoji/charts/emoji-list.html). - The [utf8mb3 character set is deprecated in MySQL 8](https://severalnines.com/database-blog/moving-mysql-57-mysql-80-what-you-should-know). - People start saving files with names including emojis. Photos downloaded from the web sometimes come with UTF-8 encoded filenames using the 4th byte. Uploading such photos with the iOS app fails and the only solution I have found today is to replace unsupported chars with for example '?' because the 3-byte version is not supported by Apple. As for the conversion, this may help you: https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-conversion.html <!-- github-comment-id:752148988 -->
Author
Owner

Yes, please, this seems to be an important missing feature.

Yes, please, this seems to be an important missing feature. <!-- github-comment-id:3620547131 -->
Author
Owner

I agree. I miss emojis!

I agree. I miss emojis! <!-- github-comment-id:3642713174 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/Piwigo#695