2011-08-23 61 views
1

據我所知,類Unix系統使用UTF-8編碼文件名,而Windows系統使用自己的Windows單字節編碼。用於更正Windows上的Linux文件名的腳本,反之亦然?

我與他們在日本頗有名檔案oftenly工作。當我打開在Windows中創建的這種歸檔文件時,日文字母已死,因爲文件名編碼不正確。

同樣的事情發生,當我創建我的Linux文件,然後有人打開它在Windows下。

所以,我認爲這應該是很常見的問題,因爲文件名是可恢復的存在必須已經存在修正爲Linux和.bat腳本爲Windows .SH腳本。

但是google搜索相當長的一段時間,我還沒有發現任何東西之後。 有沒有這樣的腳本?如果不是,有什麼困難可能阻止人們創造它們?

更新 我很高興能用於大多數Linux系統和大多數Windows系統的解決方案。

+2

問題空間是相當多的比這更復雜。有多個Linux文件系統,其中一些允許操作員指定一個本地文件名字符集,以及多個Windows文件系統,它們具有來自Redmond的各種或多或少古怪的反模式(他們喜歡稱之爲「功能」)。歸檔容器應該有一種方法來指定文件名的編碼系統,但是你並沒有說明你正在使用哪種歸檔。你在談論'zip'文件嗎? – tripleee

+0

我對zip和rar文件都有同樣的問題。 – Nameless

+0

從可執行文件而不是從腳本執行此操作可能會更容易。如果歸檔工具實際上保留了文件名信息(這可能不是這種情況!),這應該不會很困難。我不確定的唯一其他事情是編碼是否可預測,或者代碼或用戶是否必須嘗試在每種情況下找出合適的編碼。 –

回答

0

謝謝您的輸入。對於簡單的bash腳本,case確實看起來相當複雜,我需要使用編程語言。

我沒有看到像「關閉問題」按鈕任何東西,所以我就用這個答案這樣做。

0

Windows使用兩個字節編碼UTF-16。您的問題很可能是您正在使用您使用的任何歸檔工具的單字節ANSI版本。

直到你給的代碼和工具使用的是很難給出具體建議的更多細節。但是,在現代Windows文件系統中使用全系列的Unicode字符沒有限制。

+0

在Windows上的winrar,在Linux上的gnome文件滾輪 – Nameless

+0

這似乎是一個超級用戶問題,我不認爲有任何代碼在那裏? –

+0

我想讓.sh和.bat腳本在解包後修復名稱,或者從某些嚮導開始編寫它們。但是每個人都開始質疑我使用的是什麼軟件。 – Nameless

相關問題