Translations of this page?:

中文讨论组

我不知道有多少中文用户在使用dokuwiki,如果是页面名乱码影响了你的选择,可以参考这个关于中文页面名乱码的解决办法以及关于中文页面名乱码的解决办法2

希望大家共同解决使用中遇到的问题。(DokuWiki使用交流QQ群:6584076,欢迎大家一起交流DW使用心得,帮助DW中文更好地发展更易用!)


中文支持的问题:

中文文件名的问题

我今天刚刚安装了一个,目前可以使用中文页面名,也可以实现中文搜索,但是在pages目录下存储的相应中文文件名 是乱码,还在找解决方案。其实这个问题不大不小,有点讨厌,在页面显示的文件都是中文的,就是在远程登录过去管理pages目录下的文件名时看到的是乱码,还好打开文件,里面的中文还是正确显示的中文。 8-o

刚才找到一个网址,可能有助于解决这个问题,明天试试看,网址如下: http://wiki.splitbrain.org/wiki:zh-tw:pagename

网页正文的中文显示问题

DokuWiki本身带有中文支持,是通过utf-8编码来解决的,安装并设置此中文支持部分后,网页正文部分即可以用utf-8编码正常显示中文。

网站中文标题的乱码问题

安装中文支持后,正文可以正常显示,但是在local.php文件里,把网站标题和start页标题设成中文的话,就显示为乱码,有两种解决网站中文标题乱码的方法:

转存local.php为utf-8编码

将local.php文件另存为utf-8编码格式,这样标题可以正常显示,但是网页输出类似下面的错误提示:“Warning: Cannot modify header information - headers already sent by (output started at E:\webroot\dokuwiki\conf\local.php:1) in E:\webroot\dokuwiki\inc\actions.php on line 91 ”。

消除错误提示的方法:设置php.ini,将选项:output_buffering = off 设置成:output_buffering = 4096 设置以后,上面的错误提示就没有了。

手工转换utf-8编码

第1种解决方法固然很好,但是很多情况下并不一定有修改php.ini文件的权限,所以可以依然保持local.php文件默认的编码 ,而只单独把local.php文件里网站标题和start页标题用utf-8编码字符串表示,这样效果是一样的。 类似下面的设置: $conf['start'] = '棣栭〉'; $conf['title'] ='鍒板郊宀歌竟';

其中'棣栭〉'是'首页'的utf-8编码表示,而'鍒板郊宀歌竟'则是某网站名称的utf-8编码表示。

参见:中文编码转换相关资料

不完全支持中文标题网页的问题

DokuWiki的页面名规范规定不能用其他编码的字符作为页面名(pagename),就是说不能用中文作为页面名称了,这是一个很严重的问题,因为这样一来,整个网站的页面标题和索引页都不能显示中文了,只能用英文代替。尽管页面名规范里的显示名称可以使用中文,但问题是,索引页和网页标题显示的时候,显示的是页面的实际文件名,而不是显示名称。

但在实际使用过程中,用汉字作页面名称的话,往往也能正常显示并使用,只是在浏览器地址栏里显示的Url串里的页面名称经过转换编码后,看起来是乱码。但问题是,中文名称的页面在建立的时候,有时候会发生错误,即点击“建立本页”按钮的时候,系统不能正常执行。

临时妥协的解决办法就是:能用中文作页面名的就用中文,如果不行的话,就用英文。

变通的解决办法是修改DokuWiki程序,使网页标题和索引页用显示名称显示,而不是实际名称。

彻底的解决办法就得修改DokuWiki程序,使它的页面名规范能支持中文。

中文搜索的问题

问题描述

  • DokuWiki使用indexdata方式搜索;

即每个页面储存是自动建立keyword,在 \inc\word.idx中,但中文由于没有一定的分词符号1),所以 取的keyword根本没有什么意义!

这样就经常出现搜索不到的情况,我感觉是一大问题,让我在Pmwiki和Dokuwiki间犹豫。

而且随着页面的增加,word.idx 的文件体积增加的很快,应该会大大的影响运作的效率。

临时方案

  • 加载Category插件,使用分类作为关键字,可以进行搜索。
  • 尽量使用页面名搜索2)

用户注册的问题:

安装邮件发送支持

用户注册后,默认设置需要发送邮件确认注册密码,这需要php的邮件发送支持,php的默认安装下,邮件发送支持有问题,需要正确设置php.ini来解决,但即使正确设置以后,php默认的邮件发送功能也有很大限制。比如,对虚拟主机用户来说,拥有的邮件帐号大都是免费邮件,这些免费邮件服务器在发送邮件的时候,都需要验证身份,而Php默认的邮件发送功能并不支持身份验证。

好在Php资源丰富,网上有不少实现smtp的php的邮件发送类,支持身份验证,可以找一个来代替DokuWiki使用的php默认的邮件发送函数。

############################ # # # 哪里有新建页 ? # ############################

改变用户注册的确认方式

如果嫌上面的邮件密码通知麻烦的话,可以通过设置取消这种方式,而让用户注册时自己输入密码。即设置: $conf['autopasswd'] = 0; autopasswd是1的话,就自动产生密码,并发送邮件通知;设为0的话,密码就采用用户自己设置的。

用户登录的问题:

登录不上系统

在默认设置下,用户登录时会发生问题,即正确输入用户名和密码登录后系统没有反应,还是停留在登录页面。 这是系统设置的问题,做如下设置$conf['useacl'] = 1; 后,用户登录功能就正常了。 如果安装系统的时候,是把local.php.dist另存为local.php,那就不会发生这个问题,因为文件里这个参数已经设置好了。

登录后没有任何操作权限

登录后,屏幕上出现下面的错误提示:

No ACL setup yet! Denying access to everyone. 拒绝尚未授权

这个问题是DokuWiki的权限控制文件没有正常安装的缘故,把”/conf/acl.auth.php.dist”文件另存为”/conf/acl.auth.php”,让系统的权限控制系统发挥作用,即可解决这个问题。

测试下…

1) 英文是空格
2) 意味着你要仔细考虑页面的命名
 
wiki/discussion/chineseuserdiscussion.txt · Last modified: 2007/11/16 11:46 by andi
 
Imprint Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsTranslate