Avatar

Ok, your site has problems too (Todo)

by Auge ⌂ @, Friday, May 08, 2020, 11:02 (23 days ago) @ AlmostAnonymous

Hello

I put a string of about 8 emoji characters (a few outlines, a few colored emojis) after the leading sentence that did get posted. The software ate everything else in the post starting with the emojis.

That's how it currently works. With version 2.5 the forum will support the whole range of UTF8 (including the private section, used for emojis).

On my site, I get the following error page come back when I attempt to post a single smiley face in a message body:

Database error!

Incorrect string value: '\xF0\x9F\x98\x80' for column 'text' at row 1


The collation has been set to utf8mb4_general_ci on all tables and columns.

That's only half of the task. With your adaption the database tables are able to store emojis. But not only the tables must get this adaption, also the database connection of the forum script has to handle the content with utf8mb4. And that's not the case at the moment (MLF up to 2.4.21).

What should I try?

You can alter the function connect_db in includes/functions.inc.php and put the correct charcter set (utf8mb4) to the SET NAMES query. I'll give no warranty but as far as I know, it will work, if you really adapted your tables and table columns to utf8mb4 (charset and collation, matching the data of the columns). Look into the definitions in install/install.sql of your version to understand the normal definitions but also the existing exceptions. You might get a benefit by comparing the definitions of your version with the definitions of the latest beta (2.4.99.3) for version 2.5.

Additionally there are a few places, where database queries make further exceptions (based on the exceptions in the data definitions), that could break with your changes.

It kind of looks like a problem that has not been worked out in MLF, however, since your site chokes on emojis in a different way than mine.

The problem is the same. It might look different because of the server based settings for error reporting (PHP and MySQL).

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!


Complete thread:

 RSS Feed of thread

powered by my little forum