XF 2.2 Full Unicode support has been enabled in config.php MariaDB 10.6.3

Mr. Jinx

Well-known member
After upgrading PHP to 8.0.9 and MariaDB to 10.6.3, I get this message in ACP:
Code:
Full Unicode support has been enabled in config.php but your database is not set to support this. Full Unicode support should be disabled or errors may occur.

There was no $config['fullUnicode'] in config.php, but even with $config['fullUnicode'] = false; I get this message.
 
I can’t account for why the config change didn’t work - if you have an aggressive opcache then changes may not be reflected until later or until PHP is restarted.

Ensure you are editing src/config.php file.

Although having fullUnicode enabled is fine as long as you have run the cmd.php xf:convert-utf8mb4 command.
 
Regarding the config change, I made sure PHP was restarted and all caches flushed, but the message wouldn't go away.
I tried to convert to utf8mb4, but the script says the tables are already OK.
Looked at the tables... collation is set at utf8mb3. Ehhhh I don't know what happened there.

I did a test upgrade from MariaDB 10.4 > 10.6. I'll need some more testing I guess. :rolleyes:
Sorry for reporting this as a bug, this must be indeed a configuration issue on my server.
 
same error , when i change to PHP 8.0.11 and 10.6.4-MariaDB

also
Code:
 php cmd.php xf:convert-utf8mb4
No convertable tables found. No action required.

add to config.php $config['fullUnicode'] = false; or delete this string
Full Unicode support has been enabled in config.php but your database is not set to support this. Full Unicode support should be disabled or errors may occur.
this warning does not disappear :(
 
I can’t account for why the config change didn’t work - if you have an aggressive opcache then changes may not be reflected until later or until PHP is restarted.

Ensure you are editing src/config.php file.

Although having fullUnicode enabled is fine as long as you have run the cmd.php xf:convert-utf8mb4 command.

I tried this cmd and I get "No convertible tables found. No action required message."

All my tables are currently utf8mb3_general_ci
 
I had this issue today as well when upgrading from Ubuntu 20 LTS to 22.
PHP updated to 8.1 and Mariadb updated to 10.6.7.

For some weird reason, the collation of all the tables went to utf8mb3 and running the
Code:
cmd.php xf:convert-utf8mb4
had no effect and returned that no convertable tables were found.

I managed to fix the issue by setting the collation of the entire database to utf8mb4 through phpmyadmin.

  • Select the xenforo database
  • Go to 'Operations'
  • At the Collation, choose utf8mb4_general_ci
  • Select 'Change all tables collations' and 'Change all tables columns collations'.
  • Execute

1659204339576.webp
 
I can’t account for why the config change didn’t work - if you have an aggressive opcache then changes may not be reflected until later or until PHP is restarted.
\XF\Db\SchemaManager::hasUnicodeMismatch doesn't understand that utf8mb3 and utf8 are the same thing; it doesn't know that utf8mb3 exists.
 
I used phpMyAdmin to change the collation and it worked great, I used the steps shown in post #8. Keep in mind that this takes only a few seconds and there's no feedback.
 
Correct. Of course I didn’t have that information at the time of the post you quoted.
Yup--I only recently became aware of this change, and it's far from obvious what's happening. Fortunately, it's pretty easy to adjust XenForo in this case.

I used phpMyAdmin to change the collation and it worked great, I used the steps shown in post #8. Keep in mind that this takes only a few seconds and there's no feedback.
Some add-ons may introduce case-sensitive columns, and they will become case-insensitive if you take this approach. You should double check that you don't have any columns with collations other than utf8mb3_general_ci before running that command. If you see utf8_general_ci, this issue doesn't affect you and you should run php cmd.php xf:convert-utf8mb4 or remove the fullUnicode line from your config.php (ideally the former). If you see anything else, it's probably best to wait until xf:convert-utf8mb4 is able to handle utf8mb3, as that's the safest way to ensure nothing breaks. You can safely ignore the error for now if you see utf8mb3_general_ci instead of utf8_general_ci.
 
It came as well our turn for this message!
I follow post #8 instructions but i found some differences and i didnt proceed...

So, at phpmyadmin panel all tables are "utf8mb3_general_ci" but at the bottom of the list has also the "latin1_general_ci".
It is correct this?

Entering in operation section the collation is "latin1_general_ci"!
Should i proceed modifying the collation or not?

Thanks for any help and sorry for my ignorance!
 
Top Bottom