1. 解压缩错误 2. 解决办法 3. windows与linux系统的文本文件的2大差异
1. 解压缩错误
有时会遇到一些压缩包, 在Linux下解压缩会失败. 同样的压缩文件拿到Windows下就能成功解压缩.
后来了解到大都是文件名的字符集问题. 包含有特殊字符, 中文等非UTF8的字符.
$ unzip -o test.zip
Archive: test.zip
Subscene
error: cannot create Test?.srt
Invalid or incomplete multibyte or wide character
无效或不完整的多字节或宽字符
$ file Test?.srt
Test?.srt: Unicode text, UTF-8 (with BOM) text, with CRLF line terminators
2. 解决办法
以上文件是在windows环境下建立并压缩的. 在linux环境下, 挂载ntfs的分区上解压缩这个文件就会包如上错误.
最简单的办法是把他复制到ext4的文件系统下, 就可以正常解压缩了.
只是解压缩后会看到的文件名会是如下这样:
test?.srt (invalid encoding)
文件名后面有 (无效编码) 的说明文字, 要保留异常字符, 则无法修改名字.
只要手动修改为只有英文及数字的文件名即可.