论坛在使用 Windows-1251 西里尔文/俄语编码时崩溃

看起来,如果俄语的字符编码设置为 Windows-1251,Discourse 论坛将无法加载。

要复现此问题,请将字符编码设置为“西里尔文 (Windows-1251)

你为什么要这么做?Discourse 使用 UTF-8 编码,这对俄语同样适用。

我自己不会这么做。:slight_smile:

一位俄罗斯用户遇到了空白页面的问题。我们花了好几个小时才找到原因,直到我将浏览器的编码设置为 Windows-1251 后,才成功复现该问题。

我想知道是否还有其他俄语用户也遇到了空白页面的问题。据称,该设置是在操作系统(Windows)层面进行的,而如今若不进行一些手动配置,很难更改浏览器的字符编码。浏览器的自动编码检测功能似乎不太可靠。我们尝试过 Chrome 和 Firefox。

我们在俄罗斯有多个论坛在运行。如果如上所述使用 UTF-8,则没有问题。我们并未进行实验或设置 Windows-1251 编码。为什么要这样做?UTF-8 适用于所有情况。

任何论坛都没有出现空白页面。浏览器也不会切换到 Windows-1251。

我尝试在三个浏览器中强制使用 Windows-1251。如果论坛使用 UTF-8,则只会显示错误的编码,而不会出现空白页面。

cp1251 尚未消亡,因此听到仍有用户使用的浏览器默认采用该编码,我并不感到惊讶。

截至本月(2019 年 12 月 16 日),超过 11% 的 .ru 网站使用 windows-1251 编码(Unable to Complete Request

我不确定为什么您在那里看不到它。我使用了 这个浏览器插件 在 Chromium 中进行了测试。(Firefox 似乎在某些网站上禁用了字符编码菜单。)

我刚刚尝试了第三个 Discourse 论坛,那个论坛也无法加载。

我不知道为什么该用户的操作系统设置为 Windows-1251。我将尝试调查这种情况发生的频率。

有意思,请看,使用该插件后论坛会出现白屏:https://toxu.ru 我注意到该网站的编码为 windows-1251。

当我访问您的网站并将其设置为 Windows-1251 时,页面会显示为空白,并出现这些错误(与其他网站相同)。

不过,我刚从用户那里收到了一个更新——他们使用的是 Windows XP 搭配 Chrome 49,这很可能就是问题的根源。

我快速在分析数据中搜索了一下,过去 28 天内共有 85 名用户通过 Windows XP 访问了 281 次。我并不认为我们的网站需要支持 Windows XP,但我希望找到一种方法,至少向这些用户显示一条“请升级浏览器以使用本网站”的提示。

我打算建议该用户升级操作系统,至少升级到 Linux

Chrome 于 2016 年 4 月停止支持 Windows XP,Firefox 则于 2018 年 6 月停止支持,因此它是比 Chrome 更好的替代方案。但最终用户应尽快升级系统。

我会提醒他们注意安全风险,并主动提出如果他们愿意的话,可以协助处理 Linux 相关的问题。

在调试过程中,我列出了一份详细的清单,记录了收到这些请求时需要检查的所有项目。下次我需要将“Windows NT 5.1”和浏览器版本也添加到清单中。