Probleme d’encodage sur son site wordpress

J’ai eu ce problème sur ce présent site: d’un seul coup j’ai eu dans mon menu des charactères bizarres, et si jamais je cliquais sur un onglet de menu, ca revenait à a normale.Mais c’etait quand meme bien genant, à l’ouverture de la page, sans la recharger,j’avais ces charatères bizarres..

j’ai lu plusieurs topics à ce sujet: tous parlent d’un problème d’encodage ce qui parait logique.

wp-config

Selon certains et selon le problème, Il faut commenter les deux lignes du fichier wp-config traitant du charset et db_collate.

define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Vous pouvez essayer, chez moi ca n’a eu aucun impact.

wp_head()

J’ai ensuite juste deplacé le wp_head() de mon fichier header.php.Ayant une fonction issue de mon thème option dans la balise head, j’ai soit placé le wp_head après cette fonction, donc vraiment juste avant la balise html de fermeture </head>, soit avant la fonction.

En déplacant mon wp_head(), les charactères spéciaux disparaissent de mon menu, mais se retrouvent cette fois dans les posts..et cette fois ce ne sont plus des charactères bizarres mais juste un point d’interrogation qui remplace tous les ‘é’.(accents)

convertir ses fichiers en utf-8 dans notepad

Pour tester, j’ouvre un à un tous mes fichiers php depuis mon ftp, je les convertit de utf8 sans BOM vers de l’utf8 (tout court) avec notepad

A partir de la, Dans mon fichier wp-config, je place les deux lignes suivantes

define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'utf8_general_ci');

 

ca y est, le texte est redevenu normal..mais j’ai un nouveau problème, j’ai un espace qui s’est crée tout en haut de mon site, genre 32 px de vide..

je repasse tous mes fichiers en utf-8 sans Bom , en les ouvrant avec notepad depuis mon ftp

et la tout redevient normal.

 

Un plugin defectueux-cleaner sa base

En regardant la base de donnée ou sont stockés vos sites, j’ai eu personnellement cette mauvaise expérience,  les mauvais caractères peuvent etre issus d’un mauvais encodage dans la base.

En particulier le plugin wordfence security qui installe des tables en swedich, d’autres plugin tels que wp post slider également, et beaucoup, même après avoir été supprimés, laissent les tables mal encodées dans la base, on se retrouve vite avec dans la meme base, du utf8 unicode du utf8 general ci ou encore du swedish ou latin, ce qui fait naturellement buguer le site.

Il faut donc bien faire attention à ces plugins qui utilisent un encodage différent, parfois meme mélangeant plusieurs encodage!!(mal concus?)

J’ai donc supprimé ce plugin « wordfence security » qui a mauvaise réputation notamment pour les multi sites.Encore quelques autres plugins supprimés mais dont les tables polluaient encore ma base.Et enfin tout redevient normal.

Conclusion

En conclusion, les procédures habituelles sont : repasser(ouvrir) tous ces fichiers sur le ftp avec par exemple notebeans, et les réenregistrer en utf 8 sans BOM quand ce n’est pas le cas.

Bien vérifier la validité de votre code, (dans le header notamment) puis enfin, vérifier dans la base s’il ne traine pas des plugins mal encodés!!

2 commentaires sur “Probleme d’encodage sur son site wordpress

  1. Laura

    Salut.

    Après 4h de recherches et de différents tests, j’ai résolu mon problème grâce à toi. Sur mon site tout s’affichait bien en front mais quand on ouvre le code source, tous les caractères accentués (à, û, é, è…) était mal encodés. Du coup, les ancres des liens que voit Google n’étaient pas correctes.

    La solution magique est d’ajouter define(‘DB_COLLATE’, ‘utf8_general_ci’); dans le fichier wp-config.php Je n’avais que define(‘DB_CHARSET’, ‘utf8’);

    Le problème est arrivé du jour au lendemain sans que je fasse quelque chose (j’ai un fichier de suivi de toutes les modifications effectuées). le 28 janvier 2018 tout allait bien, le 1-er mars 2018 les caractères accentués ne sont plus encodés correctement.

    J’ai aussi le plugin « wordfence security » qui m’a beaucoup aidé à nettoyer quelques codes malveillants mais je l’ai installé 20 avril 2018, soit plus d’un mois et demi après l’apparition du problème.

    En tout cas merci beaucoup !

    P.S. On ne voit pas le nom des champs dans la partie « commentaires »

  2. copier coller Auteur de l'article

    Merci pour le commentaire et pour toutes les infos !! tant mieux si ca a pu aider un peu à résoudre le problème!! 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.