Bug 10579 - Can't encode to UTF-8 without --nosmart
Summary: Can't encode to UTF-8 without --nosmart
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: convmv (show other bugs)
Version: unstable
Hardware: all Linux
: P2 major
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL: http://freshmeat.net/projects/convmv/
Keywords:
Depends on:
Blocks: 10446
  Show dependency tree
 
Reported: 2007-01-01 18:07 MSK by Evgenii Terechkov
Modified: 2008-12-14 21:19 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgenii Terechkov 2007-01-01 18:07:21 MSK
На оффсайте программы и по приведённой ссылке утверждается, что бага с 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
Comment 1 Vitaly Lipatov 2007-01-20 11:12:16 MSK
Проверьте пожалуйста с
perl-base-5.8.8-alt6
Comment 2 Vitaly Lipatov 2007-01-20 11:27:33 MSK
Предупреждение  с сайта таково:
Perl 5.8.7 seems to have a broken decode_utf8() function
Comment 3 Vitaly Lipatov 2007-01-27 17:43:28 MSK
искания автора выглядят так:
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 :)
Comment 4 Vitaly Lipatov 2007-01-27 17:44:51 MSK
Если что, здесь документация:
http://www.ayni.com/perldoc/perl5.8.0/pod/perluniintro.html
Comment 5 Vitaly Lipatov 2008-05-29 17:07:32 MSD
А что сейчас?
Comment 6 Evgenii Terechkov 2008-05-30 18:19:56 MSD
Не знаю, мне уже давно проверять не на чём. :-)

Замнём для ясности.
Comment 7 Michael Shigorin 2008-12-14 20:22:57 MSK
Ну это не заминание, а будет на чём -- проверь 1.14, что ли. :)
Comment 8 Evgenii Terechkov 2008-12-14 21:19:51 MSK
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
мама_мыла_раму