×
Kunena 5.1.12.1 Released - Security release (22 Apr 2019)

The Kunena team has announce the arrival of Kunena 5.1.12.1 [K 5.1.12.1] which is now available for download as a native Joomla extension for J! 3.9.x. This version addresses most of the issues that were discovered in K 5.1 and issues discovered during the development stages of K 5.1. This is a security release.

× Topics must relate to a currently supported version of Kunena. If you are unsure what is the current supported version of Kunena, please go to the download page.

If you are having problems then, for your own benefit, it would save us all a lot of time if you would kindly post your configuration report when you ask for help from this forum. If you do not post your configuration report we will not ask you for it but you will probably not get your problem solved, either.

Question Users cannot insert emoticons from mobile device keyboard

More
1 month 4 weeks ago #1 by tcn
Since Kunena has a nice mobile interface, more and more of our users using mobile devices to access our forums. On most mobile devices you have the ability to insert emoticons directly from the device's keyboard. However, doing so leads to the following error (in the backend log):
Exception throw at line 665 in file \/home\/web\/transalpclub.nl\/http_docs\/libraries\/joomla\/database\/driver\/mysqli.php with message Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='
Is this supposed to work? In my opinion it should.




This message contains confidential information

Database collation check: ✔ The collation of your table fields are correct

Joomla! SEF: Enabled | Joomla! SEF rewrite: Enabled | FTP layer: Disabled |

This message contains confidential information
htaccess: Exists | PHP environment: Max execution time: 30 seconds | Max execution memory: 128M | Max file upload: 8M

Kunena menu details:

Warning: Spoiler! [ Click to expand ]

Joomla default template details : astroid_template_zero | author: JoomDev | version: 2.0.2 | creationdate: Nov 2018

Kunena default template details : Crypsisb3 | author: Kunena Team | version: 5.1.10.1 | creationdate: 2019-03-04

Kunena template params:

Warning: Spoiler! [ Click to expand ]

Kunena version detailed: Kunena 5.1.10.1 | 2019-03-04 [ Janus ]
| Kunena detailed configuration:

Warning: Spoiler! [ Click to expand ]
| Kunena integration settings:
Warning: Spoiler! [ Click to expand ]
| Joomla! detailed language files installed:
Warning: Spoiler! [ Click to expand ]

Third-party components: UddeIM 4.0

Third-party SEF components: None

Plugins: None

Modules: None

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #2 by tcn
Any news on this issue?

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago - 1 month 3 weeks ago #3 by Slacker
I use Crypsis as Kunena template and it works OK with smileys, Have you tried to change template. Also read this about this type of error,
stackoverflow.com/questions/9819159/ille...f8-unicode-ci-implic

Here is from my kunena_smilies database table:

CREATE TABLE `zoc_kunena_smileys` (
`id` int(4) NOT NULL,
`code` varchar(12) CHARACTER SET utf8 NOT NULL DEFAULT '',
`location` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '',
`greylocation` varchar(60) CHARACTER SET utf8 NOT NULL DEFAULT '',
`emoticonbar` tinyint(4) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Maybe you have: utf8_general_ci instead of utf8mb4_unicode_ci for COLLATE above. utf8mb4 is needed for emojs.
Last edit: 1 month 3 weeks ago by Slacker.

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #4 by tcn
Thanks for your reply.

I checked the Joomla database to be sure. All Kunena tables are utf8mb4_unicode_ci. I wouldn't expect otherwise, since these tables have been created by Kunena itself when the forum was installed.

Moreover, I believe you misread the issue. The table you mentioned relates to Kunena's own emoticons. The issue, I described, happens when users insert emotes using their smartphone keyboard. These are entirely different emotes than Kunena's own. It's more like trying to insert special characters.

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #5 by Slacker
Then your emoj is inserted in kunena_messages_text where the text is in utf8_general_ci. Like your error message said.

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #6 by tcn
I don't think so:



Or am I missing something?
Attachments:

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #7 by Slacker
Look in the structure of the table the text is in utf8_general_ci. How do the emojs look like when its in the text of the message.

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #8 by tcn
Well, I learned something today. B)
SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM `information_schema`.`COLUMNS` WHERE `TABLE_NAME` LIKE 'jml_kunena_messages_text'
That shows me that the column message is indeed utf8_general_ci, utf8 encoded, despite the table collation being utf8mb4_unicode_ci.

Before I start jumping ahead here, I would like to know if that is the default setting by Kunena or the result of our migration from SMF. In SMF, by the way, inserting emoticons from a local device keyboard worked fine. Albeit, it wasn't used very often.

What do I need to watch out for if I decide to go ahead and convert the encoding to utf8mb4_unicode_ci? I read somewhere, that converting between incompatible sets may result in data loss. :unsure:

Regarding your question of what the emotes look like: it's impossible to tell. Messages with such emotes are simply rejected and the user receives a general error message: "Kunena internal error: please enable debug modus and report the issue to your forum administrator" (my translation from the Dutch text shown in a screenshot). In the backend I get the message from the opening post.

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #9 by Slacker
Here is my settings:
CREATE TABLE `zoc_kunena_messages_text` (
`mesid` int(11) NOT NULL DEFAULT '0',
`message` text CHARACTER SET utf8 NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

As you see message text character set is utf8 and thats the problem with emoticons that need multibyte.
Read also this post:
github.com/Kunena/Kunena-Forum/issues/3805

Please Log in or Create an account to join the conversation.

More
1 month 3 weeks ago #10 by tcn
@Slacker, thanks for your help. You pointed me to the root of the problem. But your code snippet isn't very helpful. I know how to create a table with the correct encoding and collation. What I need is advice on changing the encoding/collation of a column in an existing table.

In that respect I agree with last comment in the issue you pointed out. Database maintenance/migration should be handled by Kunena itself. Since the issue in GitHub is almost two years old, I would really like to hear from a Kunena developer (or at least one of the moderators here) why the encoding is still utf8 and thus Kunena does not support "local" emoticons.

Please Log in or Create an account to join the conversation.

  • Not Allowed: to create new topic.
  • Not Allowed: to reply.
  • Not Allowed: to edit your message.
Time to create page: 0.175 seconds