拙言的技术博客
珍藏技术!

Dukowiki实现本地文件中文命名

Dokuwiki在建立命名空间后,本地浏览文件夹(命名空间)及文件名称中文显示乱码,遇到此问题的朋友可以参考如下解决方法。

Dokuwiki默认使用urlencode函数对文件名进行编码后存储,这样导致pages文件夹下存储的词条文件名是一堆乱码,对搜索引擎不友好,也不方便管理.解决思路,去掉urlencode函数的编码功能.

编辑文件 /dokuwiki/inc/pageutils.php(解决文件名乱码)
打开该文件 找到下面两个函数:

function utf8_encodeFN($file,$safe=true){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($safe && preg_match('#^[a-zA-Z0-9/_\-\.%]+$#',$file)){
        return $file;
    }

    if($conf['fnencode'] == 'safe'){
        return SafeFN::encode($file);
    }

   // $file = urlencode($file);  //注释掉
   // $file = str_replace('%2F','/',$file);//注释掉
    return $file;
}

function utf8_decodeFN($file){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;

    if($conf['fnencode'] == 'safe'){
        return SafeFN::decode($file);
    }

    //return urldecode($file); //注释掉
    return $file;  //增加这行
}
转载请注明出处:Somnus | 窒息之美 » Dukowiki实现本地文件中文命名

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址