当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 分享一次文件名乱码处理
帖子发表于 : 2016-01-04 20:28 
头像

注册: 2011-09-13 10:31
帖子: 157
送出感谢: 1
接收感谢: 17
Linux下在一个网站上下载一个pdf,结果文件名乱码。尝试了一下
代码:
convmv -f gbk -t utf8 *.pdf

结果显示文件名已经是uft8编码,尝试--nosmart参数仍得不到正确的文件名。

回想起下载页面的文字也为乱码,分析html,发现其使用charset=windows-1252,但html的实际编码为gbk,几经辗转,终于发现乱码导致的原因如下:

网页本身使用gbk,确声称自己使用windows-1252,Linux下载时文件名被从windows-1252编码转换成Linux的默认编码utf8。解决办法就是,把文件名进行uft8 -> windows-1252,得到原来的gbk编码,再进行gbk -> uft8 得到utf8编码的正确的文件名。命令如下:
代码:
convmv -f utf8 -t windows-1252 --notest
convmv -f gbk -t utf8 --notest


P.S. 文件是从中国知网下载的pdf,网页不是一直乱码,只在某些提示的页面乱码。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Bing [Bot] 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译