MediaWiki特殊字符文件名问题

时间:2010-11-09 21:14:27

标签: php mediawiki

当我将文件上传到名称中带有特殊字符的mediawiki时,它会将文件名变成如下所示:

Waterford_(Dáil_Éireann_constituency).PNG

当它实际上将它写入文件时它实际上应该是这样的:

Waterford_(Dáil_Éireann_constituency).PNG

这意味着当另一个页面链接到该文件时,它会显示为损坏的图像链接,因为它正在寻找

http://mysite.com/wiki/images/Waterford_(Dáil_Éireann_constituency).PNG

我不想阻止人们使用特殊字符,因为他们经常从支持特殊字符的维基百科中复制文件,我认为这与我的主机处理文件的方式有关。 因此,如果有某种方法来拦截mediawiki创建文件的方式,以便文件路径没有特殊字符,而所有引用仍然有用,那将更为可取。

2 个答案:

答案 0 :(得分:2)

MediaWiki是100%UTF-8安全的,但是你的Apache / PHP配置中的某个地方将UTF-8重命名为ISO 8859-1(Latin1)。首先确保您的PHP安装已启用mbstring,如下所示:

http://www.mediawiki.org/wiki/PHP_configuration

如果你被困在一个混乱的主机上,那么这个谈话页面有一些线索用刀刺伤你的维基,使其愚蠢的文件名:

http://www.mediawiki.org/wiki/Manual_talk:Configuring_file_uploads#Image_File_Names

答案 1 :(得分:0)

我无法谈论在Mediawiki中如何以及在何处执行此操作,但执行此操作的好方法是urlencode()文件名。百分比编码的文件名应该适用于所有平台,并且在必要时可以很容易地将它们恢复为适当的形式。