Linux/Win之间文件名编码不同(utf-8/gbk)的解决

本文介绍了在Linux服务器上处理由Windows上传的GBK编码文件名导致的乱码问题。通过使用`convmv`工具,成功将文件名从GBK转换为UTF-8,解决了因编码不匹配造成的404错误,确保在地址栏上能正确访问中文文件。
摘要由CSDN通过智能技术生成

背景

本人正在经营一个linux服务器。从windows环境中上传一个本地资源到服务器的时候发现了中文编码的不同导致的乱码。例如:

 

经过scp上传以后,结果是:

理想状态下的文件名应该如第三条所示,然而实际上上传出来的是第四条。

windows中文环境下的文件名字编码格式是gbk,而linux中文名字的编码是utf-8。本来没有太大的问题,自己的脚本和服务器也设置成兼容gbk,在网站上也能显示中文名,但是发现了无法在地址栏上打开中文文件的bug:

网站上可以正常显示。

但是实际点开一个文件就出现了问题。

其原因同理:大概地址栏上的中文字符会被编码成utf-8,但实际上文件名仍是按照gbk编码,导致404 Not Found。这可不行!故本人决定解决这件事。

解决

经过不懈的探索,我在某一篇文章中找到了方法——软件convmv

安装方法:

1.软件包管理器安装:apt-get update   apt-get install convmv或yum install convmv;

2.编译安装:突然找不到原帖了,就直接扔个地址过来:https://www.j3e.de/linux/convmv/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值