例如,我想下载一篇题为《数学归纳法的发展历程》的论文,下载工具是Chrome,但是下载下来的文件会变成§é¨ú_.pdf
目前已经想出一种方法:先压缩成zip文件,然后设定LANG=C用7z解压,解压后再转换编码
zip a.zip *
LANG=C 7z x a.zip
convmv -f gbk -t utf8 --notest -r .
压缩再解压这种方法无疑过于繁琐,而且文件数量多的话肯定不合适,毕竟这应该是一个只涉及到重命名文件的问题,不知各位V友有什么简便的方法。
本人知识背景:非程序员,希望能够用Shell或者Python解决这个问题
非常感谢!
![]() | 1 xinhugo 2015-03-28 17:41:40 +08:00 |
![]() | 2 limbo0 2015-03-28 18:21:28 +08:00 许多论文没有pdf! 许多pdf里面都是乱码! |
![]() | 4 muzuiget 2015-03-28 18:28:48 +08:00 ![]() 这种烂网站几乎都是坚守 GBK 编码的,我老早前就喷过了,还写了个 Firefox 扩展 http://qixinglu.com/post/redisposition.html 至于本地的乱码文件名呢(解压一些 zip 经常遇到),自己撸了个 Python 脚本解决。 https://github.com/muzuiget/python-scripts/blob/master/utf8-filename.py $ ls §é¨ú_.pdf $ utf8-filename * 数学归纳法的发展历程_冯进.pdf |
![]() | 5 Goooogle 2015-03-28 18:33:54 +08:00 ![]() |
![]() | 6 lusyoe 2015-03-28 19:16:46 +08:00 via Android 如果用的是Ubuntu可以下一个nautilus扩展解决这个问题,nautilus-filename-repairer |
![]() | 9 hitsmaxft 2015-03-28 19:25:55 +08:00 via iPhone alas cOnvmv=convmvfunc(){mv $1 "$(echo $1|iconv -f gbk)" } 大概这样,手机上不好验证 |
![]() | 10 s51431980 2015-03-28 19:26:27 +08:00 试试 convmv ``` sudo apt-get install convmv man convmv ``` |
![]() | 12 RecursiveG 2015-03-28 20:16:22 +08:00 ![]() echo -n '§é¨ú_.pdf' | iconv -f utf8 -t iso-8859-1 | iconv -f gbk -t utf8 |
![]() | 13 ynyounuo 2015-03-28 20:33:29 +08:00 @RecursiveG 正想说可以用 iconv |
14 kongdeyuan 2015-03-29 01:53:27 +08:00 解决的办法 确实很多学习了,感谢。我这条回复属于垃圾信息吗。。。 |
15 xieyudi1990 2015-03-29 08:36:24 +08:00 via iPhone 每次在Linux下用tar打包文件名带中文的文件时, 发给用gbk的中文Windows的人解压也是各种问题. |
![]() | 16 hitsmaxft 2015-03-29 10:27:25 +08:00 ![]() @hitsmaxft 最后来个完整版本 ``` convmv(){ mv "$1" $(echo -n "$1" | iconv -f UTF-8 -t ISO-8859-1 | iconv -f gbk)} ``` ``` convmv '§é¨ú_.pdf' ``` |
![]() | 17 vjnjc 2015-03-29 23:41:36 +08:00 enca -L zh_CN -x UTF-8 file1 试试这个,我一直用它来搞定gbk乱码的 |
![]() | 18 yanwen 2016-07-02 15:21:10 +08:00 |
19 wangzilinn 2018-11-22 21:40:05 +08:00 |