一个伪linux粉丝的blog

  1. 首页
  2. network
  3. 正文

dokuwiki-chinese-filename-encoding-conversion

9 11 月, 2011 7998点热度 0人点赞 5条评论

今天需要整理dokuwiki,里面有很多历史遗留的文档需要直接删除,虽然开放了samba共享,打开dokuwiki下的data目录,看到%ED%还是让我茫然。 赶紧google一下。呵呵。有人给出了解决方法和脚本, 感谢 勿慢牛

默认情况下,dokuwiki默认是使用urlencode函数对文件名进行编码后存储的,这样会在data文件夹下存在好多形如%ED%类的文件名,不利用管理和识别,如果你想改变这些,首先要更改dokuwiki对中文文件的存储方式,然后将以前的文件编码重新转换为正常的中文文件名。

首先第一步就需要批量处理了,此方法适用于linux系统。我使用的是debian,请大家参考执行:

安装uni2ascii工具:

1
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install uni2ascii </span>

编写脚本:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
times=5
itimes=0
while [ "$itimes" -lt "$times" ]
do
for oldfile in `find $1 -name "*"`
do
newfile=`echo $oldfile|ascii2uni -aJ -q`
mv -n -v "$oldfile" "$newfile"
done
itimes=$(($itimes+1))
done

脚本的原理是,遍历目录并转换文件名,然后再将乱码的文件重命名为转换后的文件名。

因为我shell学得不好,所以有一个问题没有解决–在脚本执行过程中,如果目录已经被更改,脚本继续执行的时候被更改过名字的目录下的文件会无法定位,所以此脚本需要多执行几次,具体次数要视最大目录层数决定,脚本默认5次,如果你目录较多,可以更改times=数字,来决定脚本执行次数。这是一个小问题,脚本并不会损坏文件,只是多执行几次,请放心使用。

脚本编写完成后,执行:

1
2
3
sh 脚本名字 被执行的目录   #例如 sh asciiconv.sh /var/www/dokuwiki/data
 
<span style="color: #ff6600;"><strong>tips</strong></span>

  1. 如果你开了samba共享,记得修改smb.cnf文件

1
2
3
4
5
display charset=UTF-8
unix charset=UTF-8
dos charset=cp936
     2. 记得修改dokuwiki后台的<span style="color: #000080;">配置设置</span>部分
<a href="http://www.dokuwiki.org/config:fnencode">fnencode</a>

默认为 url ,请同样更改为utf-8 ,否则你先前的中文文章会提示无法找到。切记!

如图示dokuwiki-url-utf-8

原文地址: dokuwiki中文文件名编码转换

相关文章:

  1. Dokuwiki-Dw2Pdf-Chinese
  2. Replacing OpenSSH server with dropbear
  3. Subversion备份、恢复,权限控制全体验
标签: dokuwiki
最后更新:9 11 月, 2011

wanjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • 格子

    帮我加个友情链接

    猇亭论坛
    http://www.i3xt.com

    我是格子~~~~有事可以MSN或EMAIL我。。

    23 11 月, 2011
    回复
  • wanjie

    链接搞定,地方论坛门户玩得挺转啊。

    24 11 月, 2011
    回复
  • 格子

    谢谢了,我也加了您博客的链接了。
    没想到你办事速度真快。呵呵。
    这论坛是我自己办的,办了半年了。折腾着玩~

    25 11 月, 2011
    回复
  • wanjie

    正好看到了^o^,玩论坛需要一定的精力哦,^_^

    26 11 月, 2011
    回复
  • 格子

    不是玩论坛,是自己做的本地论坛,做了近半年了。现在人气还不错。收录各方面稳定。 对了,哥们是做什么工作的, 一直蛮有兴趣,但没问

    26 11 月, 2011
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    归档
    分类
    • network / 332篇
    • Uncategorized / 116篇
    • unix/linux / 121篇
    • 业界资讯 / 38篇
    • 公司杂事 / 11篇
    • 数码影像 / 12篇
    • 美剧 / 3篇
    • 美图共赏 / 21篇
    • 英语学习 / 3篇
    标签聚合
    kubectl postgres kernel openssl dreamhost空间 Nginx Ubuntu k8s gitlab wget d90 squid 邮件归档 浏览器 ssh dreamhost VPS google-chrome debian ldap Google nexus 天翼live 泰国 deepseek jira 虚拟主机 docker 网站运营 Google Voice

    COPYRIGHT © 2008-2025 wanjie.info. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang