今天测试一个web服务器的时候,发现中文文件名无法打开,直接404,一开始以为是程序编码问题,所以直接在根目录建一个中文文件名,也是直接打不开,所以可以排除是程序编码。
所以肯定是web服务器的编码问题,后来发现是文件名编码问题。
因为服务器上文件储存的编码为GBK格式,而访问的url为utf8格式,所以404,这种情况可以手动将中文转成gb2312的编码,放在url里打开,你会发现可以打开。
所以临时的解决方法就是将文件名编码改成utf-8格式。
文件名编码转化工具convmv
可以使用yum install 安装,内网的话可以下载下面的压缩包
convmv-1.14.tar2016.8.1 – 26.00 Kb
命令:
convmv -f GBK -t UTF-8 -notest *.docx
不过这种方法只是一个临时解决方案,如果产生了新的文件还是utf8编码怎么办呢,这时候就要从根本上解决问题。