Par défaut, l'encodage utf8mb4 est utilisé pour les connexions aux bases de données sur tous les plans d'hébergement. Dans de rares cas, lorsqu'un site web a été développé il y a longtemps, l'encodage peut s'afficher incorrectement.
Au lieu de lettres normales, vous verrez ce qu'on appelle des "kryakoziabry", des symboles ressemblant à des hiéroglyphes de machine. Cela se produit parce que la base de données et toutes ses tables sont dans un encodage différent de utf8mb4. Pendant ce temps, tous les anciens sites web étaient développés en utilisant l'encodage Windows-1251.
Pour corriger l'affichage incorrect, vous devez spécifier de force l'encodage de la connexion à la base de données dans votre CMS.
Vous devez ouvrir le fichier de configuration PHP et après les lignes spécifiant le nom, le login et le mot de passe de la connexion à la base de données, ajoutez la ligne suivante :
ini_set('default_charset', 'Windows-1251');
Cette configuration spécifie de force l'encodage de la connexion.
La version finale du fichier de configuration devrait ressembler à ceci :
...
$hostname_dbconn = "localhost";
$database_dbconn = "DATABASE-NAME";
$username_dbconn = "DATABASE-USER";
$password_dbconn = "PASSWORD";
ini_set('default_charset', 'Windows-1251');
...
Maintenant, actualisez la page en utilisant la combinaison de touches Ctrl + F5 (en vidant le cache du navigateur) - l'affichage de l'encodage du site devrait maintenant fonctionner correctement.
Pour vous assurer de l'encodage utilisé par le site, vous pouvez appuyer sur la combinaison de touches Ctrl + u dans le navigateur. Dans l'onglet ouvert, au début du code HTML, trouvez une ligne comme :
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />