2016-06-15 61 views
0

我有一個法國文件「Dans mesrêves.mp3」。在C#中,當我使用ZipFile.CreateFromDirectory("/path/to/folder/with/FrenchMp3", "ArchiveName.zip")時,我在生成的zip文件「Dans mes r ?ves.mp3」中看到。C#ZipFile.CreateFromDirectory編碼

似乎是編碼?我該如何解決這個問題?

我嘗試以下,並沒有奏效:

ZipFile.CreateFromDirectory("/path/to/folder/with/FrenchMp3", "ArchiveName.zip",CompressionLevel.Optimal, false, Encoding.GetEncoding("iso-8859-1")); 

在調試程序的文件名真正體現出「丹斯MESrêves.mp3」。

+0

'iso-8859-1'沒有完整覆蓋所有法文字符。你有沒有嘗試過不同的編碼? –

+0

嗯,我沒有那麼習慣於編碼,但我嘗試了'UTF8','Unicode','iso-8859-1'直到'iso-8859-5' – Boby2000

+0

嘗試使用Encoding.GetEncoding(850)。奇怪的是,這對於斯堪的納維亞人的角色來說很有效,因爲ISO-8859-1和1252這兩個名字並不起作用。 – Wolf5

回答

0

測試

ZipFile.CreateFromDirectory("/path/to/folder/with/FrenchMp3", "ArchiveName.zip",CompressionLevel.Optimal, false, Encoding.GetEncoding(850)); 

與 「丹斯MESrêves.mp3」 和它工作正常。

+0

畢竟這個搜索很多謝謝... – Boby2000

+0

按照這個答案我想知道什麼是850代表。經過一番Google搜索後,我發現這個有趣的網站,以防有人需要它:https://www.ascii-codes.com/cp850.html – Boby2000