На оффсайте программы и по приведённой ссылке утверждается, что бага с Perl 5.8.7 (Encode 2.10), когда ВСЕ имена считаются уже перекодированными в UTF-8, обойдена в версий 1.09. Однако оно наблюдается у нас в такой конфигураций: ~$ R -q convmv perl-base perl-Encode perl-Unicode-Normalize convmv-1.10-alt0.1 perl-base-5.8.8-alt5 perl-Encode-2.18-alt1 perl-Unicode-Normalize-1.01-alt1
Проверьте пожалуйста с perl-base-5.8.8-alt6
Предупреждение с сайта таково: Perl 5.8.7 seems to have a broken decode_utf8() function
искания автора выглядят так: sub this_is_valid_utf8() { my $string = shift; # until 1.08 I used to used decode_utf8() but see perl bug #37757 (perl 5.8.7/8) # let's look for a different way to find valid utf-8 ...: #utf8::decode() is experimental and might disappear says utf8(3pm): #if (utf8::decode($string) != undef) { # Encode::decode does not work as one might expect: #if (Encode::decode(utf8,$string,Encode::FB_QUIET) == undef) { # from_to() works for all Perl versions (at the moment ;) if (from_to($string,utf8,utf8,Encode::FB_QUIET) == undef) { return undef; } else { return 1; } } Поскольку perl оказывается глобально сломанным на предмет определения того факта, что строка в UTF8 (или же на предмет понимания кем-либо как это определить) предлагаю заинтересованным лицам повесить баг на perl :)
Если что, здесь документация: http://www.ayni.com/perldoc/perl5.8.0/pod/perluniintro.html
А что сейчас?
Не знаю, мне уже давно проверять не на чём. :-) Замнём для ясности.
Ну это не заминание, а будет на чём -- проверь 1.14, что ли. :)
evg@evg ~/tmp/convmv $ convmv --notest -f koi8-r -t utf-8 $'\315'$'\301'$'\315'$'\301'_$'\315'$'\331'$'\314'$'\301'_$'\322'$'\301'$'\315'$'\325' mv "./��_��_��" "./мама_мыла_раму" Ready! evg@evg ~/tmp/convmv $ ls мама_мыла_раму