# Utf8 и proftpd, uft8 и zip архивы

## mango123

Продолжаю тему проблем работы в утф.

1. Стоит фтп-сервер ProFTPD.  

Пользователю не видны крокозяблы.

Читал анонс для версии 1.3.1рс2 - есть директива UseUTF8 = on 

Но что это даёт?  

Поискал на эту тему в гугле нашёл патч для профтпд версии 1.3.0

Сделано более правильно. http://www.linuxportal.vrn.ru/proftpd-1.3.0-rus.patch.html

В конфиг добавлены эти строчки.

А так как у большества юзеров винда - то всё помогает

```

CharsetLocal UTF-8

CharsetRemote CP1251

```

Пока остановился на этом варианте.

Но вопрос? зачем тогда преславутый UseUTF8 в последней версии?

2 Теперь про zip - архивы. 

Те файлы, которые были запакованы в винде и имели русские буквы в название - отображаются крокозяблами.

Нашёл выход -  поставил под вайном winrar, но как то не правильно это.

И теперь вообще про архивы: пакую файлы имеющие русские буквы - ситуация другая - из винды видны крокозяблы... 

Кто как решает проблему работы с архивами?

----------

## Galchonok

Гыы ....

 *Quote:*   

> 2 Теперь про zip - архивы.
> 
> Те файлы, которые были запакованы в винде и имели русские буквы в название - отображаются крокозяблами.
> 
> Нашёл выход - поставил под вайном winrar, но как то не правильно это.
> ...

 

я нашел и сделал более эллегантное решение :]]

Ниже прилагаю скриптик :]]

```
#! /usr/bin/perl

use File::MimeInfo;

use Encode;

use locale;

if (!$ARGV[0]) { die; }

$mime_type = mimetype($ARGV[0]);

#

if ($mime_type)

{

 `mkdir /tmp/$$`;

 if ( $mime_type )

 {

  `/usr/kde/3.5/bin/kdialog --passivepopup "Разархивируем файл $ARGV[0]. Пожалуйста подождите" 5 &`;

  if ( $mime_type=~m/rar/ ) { `unrar x -y "$ARGV[0]" /tmp/$$/`; }

  if ( $mime_type=~m/zip/ ) { `unzip -a -d /tmp/$$/ "$ARGV[0]"`; $decode=1; }

  if ($decode)

  {

   @filelist = `find /tmp/$$ -depth`;

   for ($i=0;$i<$#filelist;$i++)

   {

    $fn1 = $filelist[$i];

    chop($fn1);

    $fn2=$fn1;

    Encode::from_to($fn2,"CP1252", "CP850");

    Encode::from_to($fn2,"CP866", "UTF-8");

    `mv '$fn1' '$fn2'`;

   }

  }

  `/usr/kde/3.5/bin/konqueror /tmp/$$/`;

 }

 `rm -rf /tmp/$$/*`;

 `rmdir --ignore-fail-on-non-empty /tmp/$$`;

}

else

{

 `/usr/kde/3.5/bin/kdialog --title "$1"--error "Не возможно открыть файл $ARGV[0]" &`;

}

print "\n\n";

```

для примера, в kde просто говорим открывать zip и rar архивы через этот скипт ..  и все ok :]]]

Есессно скрипт можно упростить и написать на bash`е , я приложил только часть большого механизама который используется :] -> и perl

----------

## mango123

Спасибо. Но это костыль. 

Я просто недавно перешел наконец-то под утф. 

И типа всё ставится и работает "из коробки". Да.. всё именно так и есть. Но толку то?

Как ни странно, но в кои8, которую все хают и да, я согласен, это ещё больший костыль для вообще ОС, всё было "пучком". 

А ведь дааааааааааааааааааалеко не всё подходит для нормальной работы в утф8. 

к сожалению или счастью, но от винды никуда не денешься ... или, скажем так, "от кодировки cp1251"   :Smile: 

 по сему приходится находить компромисс...

что же... на самом деле оказывается, что кто живёт на утф - это люди "сами в себе" ...  улитки. 

А что вы скажете про MC ? 

Можете плеваться, но я человек выросшый ещё на "голом досе", когда только появился нортон-коммантер  :Wink: 

и считаю, что этот файл-менеджер лучшее, что есть под консоль. Только не кричите, что комад-лайн рулез. 

Как теперь в нём переключать кодировки в редакторе или во вьювере? теперь от Ctrl_T толку нет.

мдя... простите, но я ещё по порчу вам нервы по поводу УТФ

----------

## IFL

Тогда из пушки по воробьям -- переходить на 7zip -- у него имена файлов в архиве строго юникодные.

P.S.: бегло посмотрел -- UseUTF8 вроде отвечает за то, чтобы сервер ОТДАВАЛ всё в UTF-8(что логично, судя по названию).

----------

## mango123

 *IFL wrote:*   

> Тогда из пушки по воробьям -- переходить на 7zip -- у него имена файлов в архиве строго юникодные.
> 
> P.S.: бегло посмотрел -- UseUTF8 вроде отвечает за то, чтобы сервер ОТДАВАЛ всё в UTF-8(что логично, судя по названию).

 

Дык, я не предлогаю из пушки...

Винда есть, была и будет есть, как бы это обидным не казалось.

Но надо взаимодействовать. Вот по этому и ищу решения, на фактически, тревиальные проблемы.

7зип - это тоже не решение.

про FTP:  отдаёт... ну да  :Wink:  зайди-ка виндозным эксплорером ко мне ftp://mango.org.ua/MVTM/utf/

УТФ видишь? да.. вот такой это утф  :Wink: 

----------

## IFL

 *mango123 wrote:*   

> 
> 
> про FTP:  отдаёт... ну да  зайди-ка виндозным эксплорером ко мне ftp://mango.org.ua/MVTM/utf/
> 
> УТФ видишь? да.. вот такой это утф 

 

Там есть ещё одна хитрость -- локальная кодировка берётся из env'а.

Хотя, вообщем-то, _на данный момент_ -- mod_codeconv -- самое правильное решение

----------

## lefsha

 *mango123 wrote:*   

> 
> 
> Я просто недавно перешел наконец-то под утф. 
> 
> И типа всё ставится и работает "из коробки". Да.. всё именно так и есть. Но толку то?
> ...

 

Не было там ничего пучком! Шаг влево, шаг вправо - приехали.

Просто Вы не в курсе.

 *mango123 wrote:*   

> 
> 
> А ведь дааааааааааааааааааалеко не всё подходит для нормальной работы в утф8. 
> 
> к сожалению или счастью, но от винды никуда не денешься ... или, скажем так, "от кодировки cp1251"  
> ...

 

Дело не в Винде. Дело в программах - в данном случае архиваторе, который сохраняет

имена файлов в кодировке отличной от UTF-8.

Вариант может быть только один - искать версию, которая работает в уникоде

или использовать соотвествующие опции. Я не в курсе может просто забыли задать

нужные опции.

Другой вариант использовать стандартные архиваторы Linux. Под виндой они работают точно так же. Если же речь о неизвестно откуда пришедших архивах, то просить использовать латинские имена файлов.

 *mango123 wrote:*   

> 
> 
> А что вы скажете про MC ? 
> 
> Можете плеваться, но я человек выросшый ещё на "голом досе", когда только появился нортон-коммантер 
> ...

 

А что надо сказать про MC? Я тоже плююсь и пользуюсь.

Ну не умеют люди программы писать, а Far под Linux нету.

Но с UTF он работает. Что такое Ctrl_T не в курсе.

----------

## lefsha

 *mango123 wrote:*   

> про FTP:  отдаёт... ну да  зайди-ка виндозным эксплорером ко мне ftp://mango.org.ua/MVTM/utf/
> 
> УТФ видишь? да.. вот такой это утф 

 

Ну и кто тебе виноват, что ты не посылаешь правильную кодировку при запросе?

У меня и под Linux полная ерунда вылезла.

Наверняка если пользователь Explorer принудительно поставит кодировку,

то все будет нормально. Так что проблема прежде всего в тебе,

кодировка дело десятое.

----------

## Laitr Keiows

```
UseUTF8

        Disables use of UTF8 encoding for file paths.  If the --enable-nls

        configure option is used, then UTF8 encoding support will be

        enabled by default.

```

У меня все ок, имена файлов на русском. 

Под виндой юзеры пользуют FileZilla, Use UTF8 стоит в Force.

----------

