Le forum plante lors de l'utilisation de l'encodage Windows-1251 Cyrillique/Russe

Il semble que les forums Discourse ne se chargent pas si l’encodage des caractères est défini sur Windows-1251 pour le russe.

Pour reproduire le problème, définissez l’encodage des caractères sur « Cyrillique (Windows-1251) » et visitez la page d’accueil d’un forum. La page restera simplement vide. Des messages d’erreur apparaîtront dans la console, ressemblant à ceci :

Uncaught SyntaxError: Invalid regular expression: 
/^[^A-Za-zГЂ-ÖØ-Г¶Гё-КёМЂ-Цђа Ђ-бїїв°Ђ-п¬њп·ѕ-п№Їп»Ѕ-пїї]*[Ц‘-Яїп¬ќ-п·Ѕп№°-п»ј]/: 
Range out of order in character class
    at new RegExp (<anonymous>)

(J’ai seulement testé cela avec deux forums Discourse : Meta Discourse et mon forum principal.)

Pourquoi feriez-vous cela ? Discourse utilise UTF-8, ce qui fonctionne également pour le russe.

Je ne le ferais pas moi-même. :slight_smile:

Un utilisateur en Russie a obtenu une page blanche. Il a fallu plusieurs heures pour identifier la cause, et je n’ai pas pu reproduire le problème avant de définir l’encodage de mon navigateur sur Windows-1251.

Je me demande si d’autres utilisateurs de langue russe rencontrent des pages blanches. Apparemment, ce paramètre est défini au niveau du système d’exploitation (Windows) sur son ordinateur, et il n’existe plus de moyen simple de modifier l’encodage des caractères d’un navigateur sans une configuration manuelle. Les fonctionnalités de détection automatique de l’encodage des navigateurs ne fonctionnent pas correctement. Nous avons essayé Chrome et Firefox.

Nous avons plusieurs forums fonctionnant en Russie. Il n’y a aucun problème si, comme indiqué ci-dessus, UTF-8 est utilisé. Nous n’avons pas expérimenté ni configuré l’encodage Windows-1251. Pourquoi ? UTF-8 fonctionne pour tout.

Aucun de nos forums n’a affiché une page blanche. Le navigateur ne bascule pas vers Windows-1251.

J’ai essayé sur trois navigateurs de forcer l’utilisation de Windows-1251. Si le forum est en UTF-8, nous obtenons uniquement un encodage incorrect. Une page blanche n’est pas observée.

cp1251 n’est pas encore mort, je ne suis donc pas surpris d’apprendre que certains utilisateurs ont toujours un navigateur qui l’utilise par défaut.

À ce jour (16/12/19), un peu plus de 11 % des sites .ru utilisent windows-1251.

Je ne suis pas sûr de savoir pourquoi vous ne le voyez pas là. J’ai utilisé ce plugin de navigateur dans Chromium pour le tester. (Firefox semble désactiver le menu de codage des caractères sur certains sites.)

Je viens d’essayer avec un troisième forum Discourse, et celui-ci ne se charge pas non plus.

Je ne sais pas pourquoi cet utilisateur a le système d’exploitation configuré sur Windows-1251. Je vais essayer de savoir à quelle fréquence cela se produit.

C’est intéressant, regardez s’il vous plaît : avec ce plugin, une page blanche s’affiche sur le forum : https://toxu.ru. J’ai vérifié le codage windows-1251 sur ce site.

Lorsque je visite votre site et que je le définis sur Windows-1251, j’obtiens une page blanche et ces erreurs (identiques à celles des autres sites).

J’ai cependant reçu une mise à jour de l’utilisateur : il utilise Windows XP avec Chrome 49, ce qui est probablement la source du problème.

J’ai effectué une recherche rapide dans les analyses et il y a eu 281 visites par 85 utilisateurs sous Windows XP au cours des 28 derniers jours. Je ne pense pas que notre site doive prendre en charge Windows XP, mais j’aimerais trouver un moyen d’afficher au moins un message du type « Veuillez mettre à jour votre navigateur pour utiliser ce site » à ces personnes.

Je vais recommander à cet utilisateur de mettre à jour son système d’exploitation, au moins vers Linux.

Chrome a abandonné XP en avril 2016. Firefox l’a abandonné en juin 2018, ce qui en fait une meilleure alternative que Chrome. Mais en fin de compte, l’utilisateur devrait passer à une version plus récente dès que possible.

Je vais les avertir des risques de sécurité et proposer mon aide pour Linux s’ils le souhaitent.

Pendant le débogage, j’ai établi une longue liste de tout ce qu’il faut vérifier lorsque ces requêtes arrivent. Je dois ajouter « Windows NT 5.1 » et les versions de navigateur à la liste pour la prochaine fois.