Erreur 3995 site joomla

Bonjour,

Je gère un site pour une association sur le domaine cpchaurien.com qui tourne sur joomla 3.10.12 avec une offre d'hébergement mutualisé Pro configuré en PHP7.4.

Depuis environ 3-4 jours, le site n'est plus accessible et affiche un message d'erreur :
"
3995
Character set 'utf8mb4_0900_ai_ci' cannot be used in conjunction with 'binary' in call to regexp_like.
Veuillez essayer l'une des pages suivantes :
"

Pour info :
j'arrive à me connecter dans l'administration.
J'ai donc essayer de modifier le thème en mettant protostar et le problème est toujours présent.
Aucune modification/MAJ ont été effectué sur le site depuis plusieurs semaines.

J'ai fait quelques recherche, et trouve peu d'info, les seuls que je trouve concerne Mysql et les interclassements. Est-ce l'origine du problème? Est-ce arrivé lors de la migration vers la version 8. Je suis asse limité et préfère demander assistance avant de planter le site.

Je vois dans phpmyadmin, qu'il est possible de modifier l'interclassement de toutes les tables en une fois, mais ne sais pas lequel choisir!?

Merci.

Cordialement.

Yannick.


J'ai fait quelques recherche, et trouve peu d'info, les seuls que je trouve concerne Mysql et les interclassements. Est-ce l'origine du problème? Est-ce arrivé lors de la migration vers la version 8. Je suis asse limité et préfère demander assistance avant de planter le site.


Je soupçonne que ce soit ça.

Avez-vous été notifié de la mise à jour à cette date-là ?
Je découvre cette page: https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html

et honnêtement je m'en refère à des personnes plus expériméntées, peut-être le staff OVH en charge de la migration ?

Non, j'ai pas été notifié du jour où la mise à jour a été effectué.
J'ai bien reçu un mail (comme tout le monde, j'imagine) en mai, notifiant une mise à jour à partir du 8 juillet. Mais pas de mail de confirmation. Et la base mysql est bien en version 8.0.37-29.

Je viens d'aller voir la doc concernant les caractères Unicode que vous avez partagé et comprend qu'utiliser "utf8mb4_general_ci" pourrait régler le problème.

Mais comment faire la manipulation dans phpmyadmin sans risquer de causer des problèmes?
J'ai un onglet "opérations" dans ma structure de tables où je peux changer l'interclassement avec la possibilité de le faire sur toutes les tables.
Mais j'ai aussi à l'accueil de phpmyadmin une configuration "Interclassement pour la connexion au serveur" avec une valeur différente que celle de la table.

Actuellement voici les configuration de l'interclassement (dans les informations de joomla) :
Interclassement de la base de données: latin1_swedish_ci
Collation de la connexion à la base de données: utf8mb4_0900_ai_ci
Pour info, je sais même pas pourquoi je suis en latin1_swedish_ci alors que le site est en Fr !?

Merci pour votre retour.

Tout d'abord faites un export.
Le changement de character sets est rarement une réussite du premier coup.
Ouvrez votre fichier export avec Notepad++ et expérimentez avec les différents character sets



Dans les interclassements historiques (c-à-d ISO-8859 ou latin1-xxx par exemple) les caractères autres que les lettres non accentuées étaient supportés de manière minimaliste et jamais compatible entre les écritures latine, grecque, cyrillique, ainsi que les encadrement semi-graphiques du bon vieux MS-DOS.

Les diverses variantes d'Unicode sont toutes plus ou moins incompatibles entre elles.

On trouve presque normal de pouvoir écrire ceci sur les réseaux sociaux
`════ :blossom::ribbon::blossom::ribbon:༻❃═════:blossom:`
ce sont effectivement tous des caractères faisant partie de Unicode.

Faites une mauvaise conversion et ça devient par exemple ceci:
`════ 🌼 ༺🎀༻ 🌼༺🎀༻❃═════🌼`

Je viens de faire l'export et testé avec Notepad++.
En effet les caractères change bien, mais n'en trouve aucun qui convient. Pour avoir un texte lisible obligé de repasser en utf-8.

Je vais tenter de faire une restauration de la base via la console d'administration ovh et vous tiens informé.

EDIT : Malheureusement, la restauration n'a rien changé.

Bonjour,

vu le message d'erreur c'est pas un problème de BD mais de requêtes qui utilise un mot que mysql8 n'aime pas dans la forme qui est présenté (source : https://stackoverflow.com/questions/64668364/character-set-binary-cannot-be-used-in-conjunction-with-utf8mb4-unicode-ci-i/64758357#64758357), vous n'avez pas des extension qui ne serait pas à jour sur votre joomla ?

Une des pistes dit : [quote]It's coming from "System - Tag Meta" plugin[/quote]
Source : https://forum.joomla.org/viewtopic.php?t=989225

Cordialement, janus57

Bonsoir @janus57,

Le problème venait bien du plugin "Tag Meta". Tout simplement !
Après suppression du plugin, le site refonctionne correctement.

Merci pour votre aide.
Et merci également à @Fritz2cat

Cordialement.
Yannick.


Et merci également à @Fritz2cat


Bons ploufs !