2012-06-26 17 views

Odpowiedz

2

rename jest realizowany w broken fashion since forever; move też, ponieważ it uses rename.

Win32::Unicode::File naraża MoveFileW z windows.h jak moveW i najwyraźniej obsługuje kodowanie w rozsądny sposób, podczas gdy Win32API :: File pozostawia że do AFAICS użytkowników z istniejącego kodu przykładu.

pokrewne: How do I copy a file with a UTF-8 filename to another UTF-8 filename in Perl on Windows?

+0

więc jeśli nie masz UTF-8 w pliku to zrobić inaczej, gdyby po prostu użyć CORE :: rename()? –

+0

Tak, jaka jest tego szansa? Unicode oczywiście nigdy nie występuje w nazwach plików, więc programiści mogą być równie niefachowi jak [tęcza pierdząca jednorożce] (http://forgifs.com/gallery/d/201297-1/Unicorn-farts.gif). – daxim

+0

Cóż .. W tym konkretnym przypadku przenoszę '/ store/{sha1}. {Ext}' na '/ bak/{sha1}. {Ext}' w ilości około 10 milionów, więc nie zakładaj że nie znam własnego obciążenia pracą. W nazwie pliku jest 0 szans na użycie Unicode. –