Displaying Emojis In MySQL Workbench
Posted by:
foo bar
Date: June 28, 2016 10:07AM
Hi,
I'm using MySQL Workbench 6.3.3 build 511 CE (64 bits).
- I have a schema, S, with the "utf8mb4" collation.
- In that schema, I have a table, T, with the "utf8mb4" collation.
- In that table, I have a column, c, with the "utf8mb4" collation.
Using Python, I'm able to insert and select Emojis; for example,
con.execute('INSERT INTO t (c) VALUES (:c)', c=u'\U0001F4A9')
con.execute('SELECT * FROM t').fetchall() => [(u'\U0001F4A9')]
So the MySQL server definitely handles that data. However, when I view it in MySQL Workbench:
- If c is TEXT, I see "?", and when I open the value in the editor, I see "3f"; that's the character "?".
- If c is BLOB and I open the value in the editor, I see "f0 9f 92 a9".
- If c is TEXT, and I do something like "SELECT hex(c) FROM t", I get "f09f92a9".
In conclusion, I'm under the impression MySQL Workbench converts the value internally, and in the processes loses information. May the charset in it's connection string is utf8, and should be changed to utf8mb4? Or maybe it's something else?
By the way, I installed fonts that definitely support Emojis, and set them in Edit > Preferences > Fonts. Didn't help.
Thanks.