基础信息:
windows的基础环境默认编码是gbk的,linux配置了环境编码为UTF-8
现象:
通过windows通过xftp5上传文件到linux,文件名正常,但是xftp5通过设置 文件--》属性---》选项--》勾选使用UTF-8编码之后乱码
解决办法:
方法一:通过设置程序启动编码或者linux的默认编码方式为gbk即可,但是这个方法不通用,如果上游既有UTF-8又有GBK的文件就没办法解决了。
设置程序启动编码:
java -Xms512 -Xmx1280m -Default.client.encoding=gbk -Dfile.encoding=gbk -jar xxx.jar
修改linux的默认编码方式(方式很多,可以百度查一下):
全局修改:
vi /etc/profile
export LC_ALL = "zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
source /etc/profile
方法二:代码+命令工具解决(推荐)
通过convmv命令解决 文件名乱码的问题
Linux下如何对gbk编码格式的文件名进行转码 - 墨天轮
备注:
convmv是更改文件名编码方式的一个工具,iconv是更改文件编码方式的工具