Emojis not working; Not related to MySQL or PHP! Can we solve this?


I have fully followed the linked guide to enable emoji’s with Nextcloud to be able to use with talk.

All steps have been completed successfully and yet emoji’s still appear as ??? in conversations.

UPDATE: It seems there is not a problem with the MySQL database and there is not a problem with PHP. How do I know this? If I insert an emoji, as text, directly into the database, it works perfectly fine; phpMyAdmin, which is written in PHP, has no trouble resolving the data to display it in the browser. However, sending the emoji to the database by sending a message through the Talk interface causes “???” to be inserted into the database; retrieving the emoji I directly inserted from the database causes “?” to be displayed. (See image below)

What is going on in the NextCloud or Talk code that is causing this? If it is an issue with PHP or MySQL, why do emoji’s work when used independently from NexCloud?

Any ideas about what to try next?


1 Like

I had an old turnkeylinx VM running for my nextcloud. I found an config file in /etc/mysql/conf.d/ that was overwriting the mysql settings. It was called force_utf8.cnf. Changing the content to the 4-Byte version did the trick for me.

Hope that helps.

1 Like

This did the trick for me! I run Nextcloud from a TurnKey Linux setup in a Proxmox Container. How did you ever spot this? Thanks a lot!