dokuwiki:解决中文乱码问题
一. 简介
记录下dokuwiki中文乱码问题的解决方法.
二.官方教程
https://www.dokuwiki.org/zh:pagename
先奉上官方教程
三.解决
这里用的是解决中文文件名乱码问题UTF-8格式.
conf/local.php
// 文件最后添加
$conf['fnencode'] = 'utf-8';
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;
}
四. 结尾
使用解决中文文件名乱码问题GBK格式,会将文件改为GBK格式,数据使用svn管理的情况下,会有问题,好像特殊兼容可以解决,但也是麻烦.
使用UTF-8格式就没有这个问题了.
参考: