从旧主机复制的站点备份 zip 文件具有阿拉伯文件名,在新安装的 Ubuntu 上解压时,文件名以某种方式更改为 unicode。
原始文件名:
إدارة-المكتب-الفني-للمدير-العام-1024x198.jpg
名称更改为#U0627#U0633#U062a#U0634#U0627#U0631#U0627#U062a-1024x198.jpg
不确定我是否选择了正确的文件,因为我无法识别正确的文件。
尝试使用wget
,但有大约 6786 个文件,逐个执行似乎很麻烦,而且我不知道要删除哪些文件,因为会有名称不同的重复文件,并且会占用不必要的空间。尝试使用,convmv -r -f windows-1252 -t UTF-8 .
但没用。
ubuntu@ip-XX-XX-XX-XX:/var/www/html/wp-content/uploads/2016/03$ convmv -f windows-1252 -t UTF-8 #U0627#U0633#U062a#U0634#U0627#U0631#U0627#U062a-1024x198.jpg
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Your Perl version has fleas #22111 #37757 #49830
convmv 1.15 - converts filenames from one encoding to another
Copyright (C) 2003-2011 Bjoern JACKE <[email protected]>
This program comes with ABSOLUTELY NO WARRANTY; it may be copied or modified
under the terms of the GNU General Public License version 2 or 3 as published
by the Free Software Foundation.
USAGE: convmv [options] FILE(S)
-f enc encoding *from* which should be converted
-t enc encoding *to* which should be converted
-r recursively go through directories
-i interactive mode (ask for each action)
--nfc target files will be normalization form C for UTF-8 (Linux etc.)
--nfd target files will be normalization form D for UTF-8 (OS X etc.)
--qfrom be quiet about the "from" of a rename (if it screws up your terminal e.g.)
--qto be quiet about the "to" of a rename (if it screws up your terminal e.g.)
--exec c execute command instead of rename (use #1 and #2 and see man page)
--list list all available encodings
--lowmem keep memory footprint low (see man page)
--nosmart ignore if files already seem to be UTF-8 and convert if posible
--notest actually do rename the files
--replace will replace files if they are equal
--unescape convert%20ugly%20escape%20sequences
--upper turn to upper case
--lower turn to lower case
--parsable write a parsable todo list (see man page)
--help print this help
ubuntu@ip-XX-XX-XX-XX:/var/www/html/wp-content/uploads/2016/03$
有什么方法可以找到它使用的编码并将其改回原始文件名?