这里写自定义目录标题
现象
linux 系统下执行tar命令进行目录压缩时报错:
Can't translate pathname xxx/中文.pdf to utf-8
分析
- 可能是本地lang变量没有设置为utf-8
查看 locale变量
#执行命令
locale
#查询结果
LANG=c #关键变量
LC_CTYPE="c"
LC_NUMERIC="c"
LC_TIME="c"
LC_COLLATE="c"
LC_MONETARY="c"
LC_MESSAGES="c"
LC_PAPER="c"
LC_NAME="c"
LC_ADDRESS="c"
LC_TELEPHONE="c"
LC_MEASUREMENT="c"
LC_IDENTIFICATION="c"
LC_ALL=
查看locale可以使用编码
# 执行命令 查看可以使用编码
locale -a
#结果如下,很多省略了,结果太多了
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW.utf8
zu_ZA.utf8
解决
持久解决
要想永久生效,就要修改 /etc/locale.conf 文件
vi /etc/locale.conf
LANG="en_US.UTF-8" #设置 LANG="en_US.UTF-8"
# 立即生效:
source /etc/locale.conf
临时解决
bash中直接执行
export LANG=en_US.UTF-8
总结
都是主语系环境 LANG
引起的问题,修改完毕后,再执行tar 压缩中文名称的文件,就正常了。