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)
文件名后面有 (无效编码) 的说明文字, 要保留异常字符, 则无法修改名字. 
只要手动修改为只有英文及数字的文件名即可. 

3. windows与linux系统的文本文件的2大差异