[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Проблемы с локалями в zip-архивах, созданных под виндой (названия файлов под дебиан выглядят кракозябельно)



Yuriy Kaminskiy wrote:
> On 10.03.2010 12:55, James Brown wrote:
>   
>> ОС - Lenny AMD64
>> UnZip 5.52 of 28 February 2005, by Debian (консоль)
>> File Roller 2.22.4 (ГУИ)
>>
>> Вот такой ужос происходит при распаковывании архива консольной командой:
>> Archive:  Kipnis Evidence 2010 February.zip
>>    creating: Kipnis Evidence 2010 February/
>>    creating: Kipnis Evidence 2010 February/1 ����Ӫ᡿�. ������-����Կ�. ����
>> Вот так выглядит сей ужос в ГУЕ:
>> http://img59.imageshack.us/img59/2760/screenshotarm.png
>>
>> Как побороть?
>>     
>
> 1) распаковывать: LC_ALL=C 7z x /path/to/file.zip
> (почему не unzip? потому что unzip слишком умный и думает, что знает в какой
> кодировке оно было [cp437], и какая кодировка у тебя [latin1], и перекодирует;
> разумеется, думает он неправильно, в результате получается мусор)
> 2) угадывать кодировку (русские обычно в cp866, японские - sjis/cp932, и так
> далее); в сложных случаях я использую python-chardet и ls|chardet [см. аттач]
> 3) переименовывать: convmv -f cp866 -t utf-8 --notest -r
>   
Распоковал согласно п. 1
Далее такая фигня:
$ ls -l "Kipnis Evidence 2010 February"
итого 2636
-rw------- 1 user user  34304 Окт  3 00:33 ???? ????????? ???⨢ ?????
05.02.2008 (?????).doc

 convmv -f cp866 -t utf-8 --notest -r "??
?? ????????? ???⨢ ????? 05.02.2008 (?????).doc"
Your Perl version has fleas #37757 #49830
file or directory not found: ???? ????????? ???⨢ ????? 05.02.2008
(?????).doc

$ convmv -f cp866 -t utf-8 --notest -r "??
?? ????????? ???⨢ ????? 05.02.2008 (?????).doc"
Your Perl version has fleas #37757 #49830
file or directory not found: ???? ????????? ???⨢ ????? 05.02.2008
(?????).doc


$ ls | chardet
Traceback (most recent call last):
  File "/home/user/bin/chardet", line 4, in <module>
    from chardet.universaldetector import UniversalDetector
ImportError: No module named chardet.universaldetector


Reply to: