【问题标题】:MediaWiki Cyrillic page title loadingMediaWiki 西里尔文页面标题加载
【发布时间】:2015-07-31 11:03:14
【问题描述】:

我帮助运营一个小型“wiki 农场”,其中包含多种语言的 wiki,包括英语(主要)、德语、西班牙语、法语、葡萄牙语、中文、韩语和俄语。

最近我升级了服务器软件如下:

MediaWiki 从 1.14 到 1.25.1 PHP 从大约 5.2.5 到 5.5.27 MySQL 到 5.6.23

对于大多数 wiki,页面加载仍然有效。

俄罗斯网站是问题所在。在更新之前,任何输入西里尔字符和西里尔页面标题的用户总能找到它们。此外,Interwiki 链接到另一种语言的俄文版页面总是有效的;页面总是加载。但我一直都知道页面标题本身是以 UTF-8 格式存储的,人类无法阅读。因为每当我收到关于该 wiki 页面更改的监视列表通知时,该链接将以 UTF-8 格式通过并显示为许多看起来很奇怪的字符,这些字符绝对不是西里尔字母。但是链接总是很好,并且会在我的浏览器中显示为西里尔文。

但现在:没有了。如果我点击一个链接,它会转到特殊搜索页面。该页面显示了几个结果,所有结果都带有我看不懂的标题。通常列表中的第一个标题是我要查找的页面。

但是我如何让系统通过它的西里尔标题找到页面,就像以前一样?

其他 wiki 工作正常,和以前一样。但不是俄罗斯的。

【问题讨论】:

  • 你在$wgLegacyEncoding中有一个特殊的配置参数(不同于false)吗?俄罗斯和其他 wiki 的服务器配置 (Apache/nginx) 是否相同?
  • 你能给我们看一些“看不懂”的文字吗?
  • 这是一个不可读文本的示例: Либерализм_в_Ñ...риÑтианÑтве The服务器与所有其他服务器的俄罗斯服务器相同。最近我意识到我可以在这个 wiki 中添加另一个页面,MediaWiki 会将标题存储为可读的西里尔字母。所以这意味着浏览每一页,弄清楚标题应该如何阅读(我可以从跨维基链接、MediaWiki 搜索和在线解码器中获得一些线索),然后将页面从不可读的文本“移动”到某个至少,俄语可以阅读。

标签: php mysql unicode mediawiki cyrillic


【解决方案1】:

因为每当我收到关于该 wiki 页面更改的监视列表通知时,该链接都会以 UTF-8 格式通过并显示为许多看起来很奇怪的字符,这些字符肯定不是西里尔字母。但是链接总是很好,并且会在我的浏览器中显示为西里尔文。

听起来您的 wiki 总是被破坏,并且在更新后它以稍微不同的方式被破坏。我将首先查看$wgDBmysql5$wgDBTableOptions 以及数据库中使用的字符集(例如pagetext 表)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多