Open grantfitzsimmons opened 2 years ago
:sadface: π’
This is only for combined emoji like π΄π» (actually π΄ π»
)
Regular emoji like βοΈ are fine!
MySQL's utf8 only supports basic multilingual plane, and you need to use utf8mb4 instead:
For a supplementary character, utf8 cannot store the character at all, while utf8mb4 requires four bytes to store it. Since utf8 cannot store the character at all, you do not have any supplementary characters in utf8 columns and you need not worry about converting characters or losing data when upgrading utf8 data from older versions of MySQL.
So to support these characters, your MySQL needs to be 5.5+ and you need to use utf8mb4 everywhere. Connection encoding needs to be utf8mb4, character set needs to be utf8mb4 and collaction needs to be utf8mb4. For java it's still just "utf-8", but MySQL needs a distinction.
I don't know what driver you are using but a driver agnostic way to set connection charset is to send the query:
SET NAMES 'utf8mb4' Right after making the connection.
From @carlosmbe:
Describe the bug If an Emoji is present in an Agent's First, Last Name or Middle Initial. Specify will crash
Agent Email is fair game though
To Reproduce Steps to reproduce the behavior:
- Go to
Data Entry -> Agents
- Click on any of the fields stated above
- Add Emoji and Save
- See error Specify 7 Crash Report - 2023-04-27T21_26_02.395Z (1).txt Specify 7 Crash Report - 2023-04-27T21_26_02.395Z.txt
Expected behavior Not a crash or at least a request to remove UTF-8 Characters and only have ASII characters
Screenshots
Desktop: OS: Mac OSx Ventura Browser: Chrome Specify 7 Version: 7.8.10-prerelease
Database Name: morpaleo
Reported By @carlosmbe
Edit: Still present in 7.8.10 pre release
Below is an instance that happened in Paleo Context
Remarks
Specify 7 Crash Report - 2023-05-01T21_19_03.235Z.txt Specify 7 Crash Report - 2023-05-01T21_19_03.235Z (1).txt
Happens with Good Ol Fashioned Simple Emojis too. Below is an instance that happened in
Paleo Context
Remarks
Emojipedia: (Source)
The Flag: United States emoji is a flag sequence combining πΊ Regional Indicator Symbol Letter U and πΈ Regional Indicator Symbol Letter S. These display as a single emoji on supported platforms.
It is πΊ + πΈ = πΊπΈ
Can recreate in edge (7.9.6)
Recreated in
edge
andtestability
.Specify 7 Crash Report - 2022-11-25T19_04_56.813Z.txt
https://herbrbge-edge.test.specifysystems.org/specify/view/collectionobject/349648/?recordsetid=178 https://herbrbge-testability.test.specifysystems.org/specify/view/collectionobject/349648/?recordsetid=178