Dokuwiki 中文乱码
在创建页面的时候,发现在网页端使用中文文字创建成功后,在本地服务器本机的文件夹
Dokuwiki\data\pages 可以看到该文件名是使用%数字%字母%等的形式显示出来,这对于文件的本地存档是很不方便的。
解决方法
主要修改2个地方:
- 在服务器机子上 dokuwiki\conf\local.php
在最后一行加上:$conf[‘fnencode’]==’GB2312’; #注意分号不能少。
- 在服务器机子上 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;
}