当我将文件上传到名称中带有特殊字符的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创建文件的方式,以便文件路径没有特殊字符,而所有引用仍然有用,那将更为可取。
答案 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()
文件名。百分比编码的文件名应该适用于所有平台,并且在必要时可以很容易地将它们恢复为适当的形式。