网站有一些课件资源是从windows传到Linux服务器,在windows下文件夹编码方式为GBK,而浏览器默认的编码模式为UTF-8(服务器默认编码也为UTF-8),如此,便导致了类似http://xxxx//Resources/北师大/初中语文/八年级上/本册综合/绿.ppt 这样的域名的无法访问,提示找不到资源。
解决办法:用convmv工具将Resources目录下的所有文件的名称使用utf-8重新编码
下载convmv:wget https://www.j3e.de/linux/convmv/convmv-1.15.tar.gz
注:若用ftp客户端访问资源时,遇到乱码情况,也请核实客户端编码方式和服务器是否一致
make clean
make install
./convmv -f GB2312 -t UTF-8 -r --notest /Resources/*
以上讲述了在linux下修改目录名编码的方法,再扩展一下文件内容更改编码的方法
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
2. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2