2011-05-04 63 views
1

我創造了這個紅寶石(1.9.2)代碼和最後一行失敗:有什麼辦法可以讓FileUtils使用UTF-8文件名?

File.open("test äöü.txt", "w+").close 
File.chmod(0644, "test äöü.txt") 
FileUtils.chmod(0644, "test äöü.txt") # FAILS 

的消息是:

變量Errno :: ENOENT(沒有這樣的文件或目錄 - C:/ ... /測試├ñ├Â├╝.txt):

Althoug的FileUtil.chmod電話File.chmod最終,由於某種原因,與沿途的文件名食堂。

通常我只是使用File而不是FileUtils,但不幸的是我使用了一個使用FileUtils的寶石,我希望我可以避免更改寶石來源。

有誰知道爲什麼會發生這種情況? FileUtils.chmod的來源看起來很簡單,但我仍然無法弄清楚問題所在。有沒有什麼辦法可以修補FileUtils以使其工作?

謝謝。

+0

你的'ruby -v'是什麼?對於我在OS X上使用'ruby 1.9.2p180(2011-02-18)[x86_64-darwin10.6.0]''沒問題。看起來像只有Windows的錯誤。 – 2011-05-04 20:27:52

+0

它是'ruby 1.9.2p180(2011-02-18)[i386-mingw32]' – 2011-05-04 20:29:48

回答

1

它似乎是一個Windows唯一的問題,與issue 1685有關。

希望有人對編碼問題有很好的理解& windows可以啓發你直到解決問題才能做什麼。

+0

似乎'File.path'與此有關:'File.path(「testäöü.txt」)''返回''測試├'├Â├╝.txt「'。 (因爲'FileUtils.chmod'正在使用'File.path' ...) – 2011-05-05 06:54:53

相關問題