Dokuwiki中文乱码


Dokuwiki 中文乱码

在创建页面的时候,发现在网页端使用中文文字创建成功后,在本地服务器本机的文件夹
Dokuwiki\data\pages 可以看到该文件名是使用%数字%字母%等的形式显示出来,这对于文件的本地存档是很不方便的。

解决方法
主要修改2个地方:

  1. 在服务器机子上 dokuwiki\conf\local.php
    在最后一行加上:
    $conf[‘fnencode’]==’GB2312’; #注意分号不能少。 
  2. 在服务器机子上 dokuwiki\inc\pageutils.php
    修改两个函数:utf8_encodeFN 和utf8_decodeFN
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);
    */
    return $file;
}

文章作者: ghf
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ghf !
评论
 上一篇
酒店网络折腾 酒店网络折腾
网络折腾出差在外,在酒店休息,无聊准备看下视频,没带电脑电源,只能选择电视。然而酒店电视又不能连网。这点小问题怎么能难倒机智的我。(^_^) 先登录酒店Wi-Fi ,发现还要输手机验证码验证。bingo 这应该就是电视不能连网的原因了,电
2018-09-09
下一篇 
贵州工程快速搭建 贵州工程快速搭建
#贵州工程快速搭建 准备工作eclipse Version: Oxygen Release (4.7.0)代码下载svn :jetty插件安装安装eclipse jetty插件 创建java 工程new->java project
2018-08-27