nesdev.com
http://forums.nesdev.com/

Can't post with non-BMP characters such as emoji
http://forums.nesdev.com/viewtopic.php?f=13&t=13702
Page 1 of 1

Author:  tepples [ Tue Jan 05, 2016 5:17 pm ]
Post subject:  Can't post with non-BMP characters such as emoji

In this post, I was trying to make a distinction between SNROM with battery and SNROM without battery by including the Unicode character BATTERY (U+1F50B). I can preview the post just fine:
Attachment:
File comment: Preview works fine.
sgemoji.png
sgemoji.png [ 756 Bytes | Viewed 2062 times ]

But when I try to post I get this error:
General Error
SQL ERROR [ mysqli ]

Incorrect string value: '\xF0\x9F\x94\x8B\x0A\x0A...' for column 'post_text' at row 1 [1366]


it appears MySQL by default does not support UTF-8 code unit sequences that correspond to Unicode code points outside the Basic Multilingual Plane (U+0000 through U+FFFD). In GTK+ applications, this character can be typed with Ctrl-Shift-U 1f50b Space. A related question on Stack Overflow is “Incorrect string value” when trying to insert UTF-8 into MySQL via JDBC? which implies that certain settings will need to be flipped from utf8 (BMP-only UTF-8) to utf8mb4 (UTF-8 including extra planes, the NES 2.0 of Unicode), which was introduced in MySQL 5.5.

Author:  Dwedit [ Wed Jan 06, 2016 6:41 pm ]
Post subject:  Re: Can't post with non-BMP characters such as emoji

I would have mistaken the battery graphic for a logic gate or something.

Author:  tepples [ Fri Mar 18, 2016 12:32 pm ]
Post subject:  Re: Can't post with non-BMP characters such as emoji

It's not just the battery. Other characters, such as the emoji that inspired several emblems in the NES homebrew game Concentration Room, can't be posted because the column for the text of a post is set to CHARACTER SET utf8 instead of CHARACTER SET utf8mb4. Part of the reason for this is that forums.nesdev.com runs MySQL 5.1.62, not 5.5.3 or later.

Step 2: Upgrade the MySQL server

Upgrade the MySQL server to v5.5.3+, or ask your server administrator to do it for you.

I hereby request that the server administrator do it for me.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/