网站开发工作量评估,企业网站模板下载尽在,开源crm,视频网站如何做营销公司内部的wiki是用的mediawiki#xff0c;其它都还好就是上传文件时文件名中有中文就不能上传#xff0c;这次下决心要修复这个问题#xff0c;一开始我还以为是哪里需要配置一下#xff0c;然后搜了半天发现这是一个官方的bug#xff1a; 好吧#xff0c;是官方bug也好…公司内部的wiki是用的mediawiki其它都还好就是上传文件时文件名中有中文就不能上传这次下决心要修复这个问题一开始我还以为是哪里需要配置一下然后搜了半天发现这是一个官方的bug 好吧是官方bug也好官方肯定也提供了解决方案链接在这找了半天确实有人给出了详细的解决方案 注意我标红的几个地方就是说要改四个地方然后注意用中文的编码集中文的就是GBK不要去百度了而不是他示例的windows-1255好了废话不多说我把这四个地方改完重新用中文描述下 1.找到MediaWiki/includes/upload/UploadBase.php文件搜索WINDOWS_NONASCII_FILENAME将这一段if else代码整个注释 2.找到MediaWiki/includes/filebackend/ FSFileBackend.php搜索 doStoreInternal方法将下面一段代码加到$ok copy( $params[src], $dest );之前
if (strtoupper(substr(PHP_OS, 0, 3)) WIN)
{$charSetArr array(ASCII, JIS, EUC-JP, UTF-8, UTF-16,windows-1251,ISO-8859-1, GBK);if (mb_detect_encoding($dest, $charSetArr) UTF-8){$dest iconv(UTF-8, GBK, $dest);}
}
3.找到MediaWiki\includes\filerepo\file\File.php搜索transform方法将下面一段代码加到$thumbPath $this-getThumbPath( $thumbName ); // final thumb path 之后
if (strtoupper(substr(PHP_OS, 0, 3)) WIN)
{$charSetArr array(ASCII, JIS, EUC-JP, UTF-8, UTF-16,windows-1251,ISO-8859-1, GBK);if (mb_detect_encoding($thumbPath, $charSetArr) UTF-8){$thumbPath iconv(UTF-8, GBK, $thumbPath);}
}
4.找到 MediaWiki\includes\media\Bitmap.php搜索transformGd方法将下面一段代码加到if ( !file_exists( $params[srcPath] ) ) 之前:
if (strtoupper(substr(PHP_OS, 0, 3)) WIN)
{$charSetArr array(ASCII, JIS, EUC-JP, UTF-8, UTF-16,windows-1251,ISO-8859-1, GBK);if (mb_detect_encoding($params[srcPath], $charSetArr) UTF-8){$params[srcPath] iconv(UTF-8, GBK, $params[srcPath]);}
}
好了到此大功告成我这里使用的版本是1.30其它版本应该也差不多不过据说官方版本1.31已经解决了这个bug了重新下的话也就没这个烦恼了。。