I encountered a problem loading a dataset from remote. The remote uses emojis in its titles and Xibo fails to insert them into the database (Error message: “Incorrect string value: '\xF0\x9F\x98\xAD …”). I think this is because Xibo doesn’t use utf8mb4 character set.
I would like to see this is getting changed in future versions. utf8mb4 should be preferred generally.
I’m also open to ideas to fix this problem for me.
Thanks for this suggestion - after a bit of reading it seems MySQL will eventually move all utf8 columns over to utf8mb4. The utf8 column is actually utf8mb3under the hood.
I don’t think there are any downsides to utf8mb4 and we should certainly do it for all new tables/columns. (note to future Xibo devs - ['collation'=>'utf8mb4_unicode_ci'] in phinx).
In the interim, you could try changing the collation on the dataset_ tables directly in your database yourself. (Please take a backup first if you do).
Hi, I’ve tried to change the collection for all tables. I’m not working in a production environment yet, so that’s not a problem. But it seems that this is not enough to support emojis. Maybe it is needed to adjust parameters while the software is etablishing the database connection?
It seems to be. I’ve changed it temporarily in my docker installation and it seems that now I can save text with emojis without problems. So far, I have not noticed any problems after the change. It is possible to change this in the core in the next version?
Because I use a docker version my change is not permanent.
I’m reluctant to change it in a patch, mostly because of the words “so far” and making such a change to a stable release isn’t usually a good idea.
I’m happy to make the change for the next minor release, which also happens to be a major release - 4.0.0 and I have retagged the issue to make sure that gets done for you.
If you want to persist your change you can add a volume for the file you’ve edited to your docker compose file. The volume would map the file on your host OS over the one inside the container.