Tag Archives: 乱码
dokuwiki中文文件名编码转换
默认情况下,dokuwiki需要把中文文件进行编码后存储,便会在data文件夹下存在好多形如%ED%类的文件名,不利用管理和SEO,如果你想改变这些,首先要更改dokuwiki对中文文件的存储方式,然后将以前的文件编码重新转换为正常的中文文件名。 第一步可参考上一篇文章http://klniu.com/post/dokuwiki-chinese-file-name-and-address-sitemap-garbled/更改。 而第二步就需要批量处理了,此方法适用于linux系统。我使用的是ubuntu,请大家参考执行: 安装uni2ascii工具: sudo apt-get install uni2ascii 编写脚本: #!/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 脚本的原理是,遍历目录并转换文件名,然后再将乱码的文件重命名为转换后的文件名。 … Continue reading
dokuwiki中文文件名及sitemap乱码的解决
dokuwiki默认是使用urlencode函数对文件名进行编码后存储的,而索引文章的indexer.php文件在生成sitemap.xml时也会对文件名编码,这样对搜索引擎是不友好的,实际上将这两个编码的功能去掉就可以了。 中文文件名的乱码可以参考http://www.dokuwiki.org/zh:pagename进行更改,即: function utf8_encodeFN($file, $safe = true) { if ($safe && preg_match(’#^[a-zA-Z0-9/_\-.%]+$#’, $file)) { return $file; } /* 把这个部分注释掉 $file = urlencode($file); $file = str_replace(‘%2F’,'/’,$file); */ return $file; } } if (!function_exists(’utf8_decodeFN’)) { /** * URL-Decode a filename * * … Continue reading
phpexcel导出文件乱码问题
以前使用phpexcel类导出xls文件时,没有发现有乱码的问题,可是今天再使用的时候就发现文件下载完成后打开时,excel提示文件的格式与文件指定的格式不一致,打开时就乱码,用记事本打开时是空的,挺无奈,于是google了一下,试了好多都不知道是什么原因,后来在不加参数在浏览器打开之后发现左上角有一个锘字,于是恍然大悟,肯定是文件或者包含的文件前面有空格,于是找了找,终于在自己的类文件里发现<?php前面有一个空格,哎!寻找的方法是以前在网上发现的,现在也忘记出处了,就是用UE,在UE的配置里,文件处理->UTF-8检测,去掉“自动检测UTF-8文件”和“检测UNICODE(UTF-16文件无BOM)”前面的勾,然后重启UE,再打开要查看的文件,就能在文件前面查看有没有类似空格的乱码。