Il forum si blocca quando si usa la codifica Windows-1251 Cirillico/Russo

Sembra che i forum Discourse non si carichino se la codifica dei caratteri è impostata su Windows-1251 per il russo.

Per riprodurre il problema, imposta la codifica dei caratteri su “Cirillico (Windows-1251)” e visita la home page di un forum. Verrà visualizzata solo una pagina vuota. Nella console sono presenti messaggi di errore simili a questo:

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

(Ho provato solo con due forum Discourse: Meta Discourse e il mio forum principale.)

Perché faresti una cosa del genere? Discourse utilizza UTF-8, che funziona anche per il russo.

Io non lo farei di persona. :slight_smile:

Un utente in Russia riceveva una pagina vuota. Ci sono volute diverse ore per individuare la causa e non sono riuscito a riprodurla finché non ho impostato la codifica del mio browser su Windows-1251.

Mi chiedo se altri utenti di lingua russa stiano riscontrando pagine vuote. A quanto pare è impostato a livello di sistema operativo (Windows) sul suo computer e non c’è un modo semplice per modificare la codifica dei caratteri del browser senza qualche configurazione manuale. Le funzioni di rilevamento automatico della codifica dei browser non funzionano bene. Abbiamo provato Chrome e Firefox.

Abbiamo diversi forum attivi in Russia. Non ci sono problemi se, come scritto sopra, viene utilizzato UTF-8. Non abbiamo mai sperimentato né impostato la codifica Windows-1251. A cosa servirebbe? UTF-8 funziona per tutto.

Su nessuno dei forum si è mai verificata una pagina vuota. Il browser non passa a Windows-1251.

Ho provato su tre browser diversi a forzare l’uso di Windows-1251. Se il forum è in UTF-8, otteniamo solo una codifica errata. Non si osserva alcuna pagina vuota.

cp1251 non è ancora morto, quindi non sono sorpreso di sentire che alcuni utenti hanno ancora un browser che lo utilizza come predefinito.

A partire da questo mese (16/12/19) poco più dell’11% dei siti .ru utilizza windows-1251.

Non sono sicuro del motivo per cui non lo stai vedendo lì. Ho usato questo plugin per il browser in Chromium per testarlo. (Sembra che Firefox disabiliti il menu di codifica dei caratteri su alcuni siti.)

Ho appena provato con un terzo forum Discourse e anche quello non si carica.

Non so perché quell’utente abbia il sistema operativo impostato su Windows-1251. Proverò a scoprire quanto spesso succede.

Interessante, guarda: con questo plugin sul forum appare una pagina bianca: https://toxu.ru Ho notato che il sito utilizza la codifica windows-1251.

Quando visito il tuo sito e lo imposti su Windows-1251, ottengo una pagina vuota e questi errori (gli stessi degli altri siti).

Ho appena ricevuto un aggiornamento dall’utente: sta utilizzando Windows XP con Chrome 49, quindi questa è probabilmente la causa del problema.

Ho fatto una rapida ricerca nelle analisi e negli ultimi 28 giorni ci sono stati 281 accessi da parte di 85 utenti su Windows XP. Non credo che il nostro sito debba supportare Windows XP, ma vorrei trovare un modo per mostrare almeno a queste persone un messaggio del tipo: “Si prega di aggiornare il browser per utilizzare questo sito”.

Consiglierò a questo utente di aggiornare il sistema operativo, almeno a Linux.

Chrome ha abbandonato XP nell’aprile 2016. Firefox lo ha fatto nel giugno 2018, quindi è un’alternativa migliore rispetto a Chrome. Ma alla fine l’utente dovrebbe aggiornare il più presto possibile.

Li avviserò dei rischi per la sicurezza e offrirò assistenza con Linux, se lo desiderano.

Durante il debug ho redatto un lungo elenco di tutti gli elementi da verificare quando arrivano tali richieste. Per la prossima volta, devo aggiungere “Windows NT 5.1” e le versioni dei browser alla lista.