Skip to:
Content

BuddyPress.org

Opened 7 years ago

Closed 7 years ago

Last modified 6 years ago

#5514 closed defect (bug) (no action required)

Messages to other users get cut off

Reported by: quan_flo Owned by:
Milestone: Priority: highest
Severity: critical Version: 1.9.1
Component: Messages Keywords:
Cc: navjotjsingh@…

Description

Some of my users reported that private messages they recieved from other users differ from the message that was sent with the notification email.

The problem seems to be Apple - no, not the problem, the cause..

My users use smileys apple seems to provide with the keyboard when messages are written. I cannot reproduce this because I don't own any apple system but I asked my users to send a list of all smileys apple offers as private messages.

This is what I recieved:
😄😃😀😊☺️😉😍😘😚😗😙😜😝😛😳😁😔😌😒😞😣😢😂😭😪😥😰😅😅😓😩😫😨😱😠😡😤😖😆😋😷😎😴😵😲😟😦😧😈👿😮😬😐😕😯😶😇😏😑

If you now try to past this into a buddypress message to another user the text will be cut off after one of the first smileys.

My databast is utf8 so special chars should not really be problematic but these characters are not getting stored with the message...

To reproduce the problem jsut write a message
"test 😄😃😀😊☺️😉😍😘😚😗😙😜😝😛😳😁😔😌😒😞😣😢😂😭😪😥😰😅😅😓😩😫😨😱😠😡😤😖😆😋😷😎😴😵😲😟😦😧😈👿😮😬😐😕😯😶😇😏😑 something that will get lost"
and you'll see that the messate stops after "test "....

Help would be fine ;-)

Change History (4)

#1 @boonebgorges
7 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed

This appears to be a more general WordPress issue, related to the lack of support for the utf8mb4 character set (which is where these smileys are stored). Background:

As an alternative to utf8mb4, we could store the images as blob data, but that would cause problems for message searching.

See #WP21212 for further discussion. Going to close this one in favor of the WP ticket.

#2 @nacin
7 years ago

Note that if your particular configuration of MySQL supports it, you can simply do define( 'DB_CHARSET', 'utf8mb4' ); if your existing charset is already utf8. (I presume it is, as it's the default and latin1 will store anything.)

#3 @quan_flo
7 years ago

I changed bp_messages_messages to utf8mb4_unicode_ci
result is still the same...
Maybe there is a way to drop characters that cannot be stored from a message body?

#4 @navjotjsingh
6 years ago

  • Cc navjotjsingh@… added
Note: See TracTickets for help on using tickets.