dokuwiki win7环境 新建页面本地文件名 乱码 URI编码 转中文 解决方案

dokuwidi版本号:$updateVersion = "49.5";   来自 doku.php

[不保证其他版本的也使用同样方法解决,但大体思路应该相同]

  1. dokuwiki.php 中配置 $conf['fnencode']    = 'gb2312'; 
  2. pageutils.php 中修改两个函数(蓝色为添加的部分):
  3. 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);
        }

        #添加if判断开始
        if ($conf['fnencode']=='gb2312'){
            return iconv('UTF-8','GB2312',$file);
        }
        # if判断结束

        $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);
    }
    
    #添加该 if判断开始
    if ($conf['fnencode']=='gb2312'){
        return iconv('GB2312','UTF-8',$file);
    }
    #if判断结束

    return urldecode($file);
}

 

然后就ok啦。重启容器,即可看到新增页面之后,本地存储的文件夹名称变成中文。

你可能感兴趣的:(dokuwiki win7环境 新建页面本地文件名 乱码 URI编码 转中文 解决方案)