在linux與windows平台間交換壓縮包文件,如果文件名中含有中文,有時候就會遇到亂碼問題,給平台間的文件交換帶來麻煩。今天仔細研究了一下,總結下面一些經驗,供大家分享
1、7zip和rar(我用的是3.50,好像rar的舊版本不行)會對文件名編碼進行轉換,內部文件名編碼使用unicode,所以使用這兩種格式在linux和windows平台間交換不會有亂碼問題,其他格式(比如tar.gz, tar.bz2)似乎不進行轉換,所以不適合平台間交換。但鑒於linux的自由精神,不推薦使用商業軟件rar,而推薦自由的7zip.但是,我發現用 ubuntu中(我的是Edge)file-roller處理7zip文件還是會存在問題,而用命令行就沒有問題,所以推薦大家用命令行的7zip.
2、解壓含有中文文件名的zip文件
如果收到windows壓縮的含有中文文件名的zip文件,在linux下解壓就會亂碼,找了一圈,似乎沒有軟件能夠解決這個問題,於是乎,就自己用python編了一個腳本,該腳本假設你已經安裝7zip,並且locale為UTF-8用rar解決問題