Keleth says:
... The current server has all its tables set to UTF8, which is what existed at that point. The new server is using utf8mb4 ...
FlyingSucculent says:
... Pinky’s (originally: Pinky’s) ...
So presumably prod is using utf8mb3? utf8mb3 stores its values in three bytes, and we are getting three characters ' ’ ' instead of the ' ’ ' which is 0x2019.
Either the export from the old database or, more likely, the import into the new database is treating these three byte characters as three single byte CP-1252 code page characters, which is what we are seeing displayed on staging.
Keleth says:
... which supports emojis. So how is our current server supporting emojis? ...
Presumably it only supports three byte long emojis? Or is it storing those emojis as three bytes and rendering them 'combined'?
FlyingSucculent says:
... since sheets aren't affected by this issue, are they stored by some other method?
That seem worth looking into. If they are stored differently then it may not help, but if they are exporting or importing differently then it could be an answer?
Are those from the mongodb? If so that indicates the old mysql is the source of the issue?
How did you import the data?
Maybe try adding
--default-character-set=utf8 to the
mysql import command? Else we might have to look into convincing the old server to export it in way we can use?