Mattermost – failed to save Post?

Does your Mattermost instance seem to be unable to send emoji? The solution could be as easy as fixing the database configuration.

My Mattermost instance seemed to be unable to send emoji. I was able to send :upside_down_face: (colon upside underscore down underscore face colon), but you could not just send the 🙃 emoji, because the message would fail to send.

I just took this as the computer nuisance we all have to live with, when someone else mentioned the same problem: “I’m receiving everything, but whenever I try to send something, I’m getting an error message”. Others chimed in: “Could it be that you can’t send messages with emoji?”

Searching through the Mattermost bug list at Github didn’t turn up anything. Weird. It’s 2022 and you cannot send emoji? But there is no bug report? Even SMS, a 30 year old standard originally based on 160 7-bit characters, is able to send smileys these days. (Yeah, that’s probably MMS, but hey, I cannot see the difference, it’s my phones messaging client/protocol/thing).

The Mattermost log files showed an obscure error message: “failed to save Post: Error 3988: Conversion from collation utf8mb3_general_ci into utf8mb4_0900_ai_ci impossible for parameter“. No hits on that, either. Neither through duckduckgo, nor through other search machines.

But hey, collation – maybe the database would have something to do with it?

The Mysql tables all were all nice and friendly utf8mb4 collate=utf8mb4_0900_ai_ci just as they should, but the database configuration in Mattermost was wrong:

"DataSource": "mattermost:very_secret_password@tcp(somehost:3306)/mattermost?charset=utf8"

Changing this to charset=utf8mb4,utf8 (as is in de documentation, so we were wrong all the time!) was all that was needed.

Leave a Reply

Your email address will not be published. Required fields are marked *