URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84346
[ Назад ]

Исходное сообщение
"слетает кодировка имени файла при копировании"

Отправлено GHopper , 04-Мрт-09 13:58 
Здравствуйте!


$ env
...
MM_CHARSET=UTF-8
...
LANG=ru_RU.UTF-8
...
$  uname -mrs
FreeBSD 7.0-RELEASE i386

На сервере есть ФТП-хранилище, на которое льют файлы в кодировке cp1251. Так вот, зашел удаленно по ssh и файлы из хранилища скопировал с одного места в другое. После этого имена этих файлов стали в неизвестной кодировке... Вот такая вот беда.


Содержание

Сообщения в этом обсуждении
"слетает кодировка имени файла при копировании"
Отправлено angra , 04-Мрт-09 16:46 
Ну так смените локаль на cp1251 после захода по ssh и скопируйте заново.

"слетает кодировка имени файла при копировании"
Отправлено GHopper , 04-Мрт-09 19:19 
>Ну так смените локаль на cp1251 после захода по ssh и скопируйте
>заново.

Как-то это не совсем правильно - что-же мне теперь, каждый раз при копировании разных файлов менять локаль? И вообще где связь между локалью и операцией копирования?

P.S. забыл сказать, что копировал через mc.


"слетает кодировка имени файла при копировании"
Отправлено angra , 04-Мрт-09 20:05 
Как то так сложилось, что основные fs фрюхи и линукса не имеют понятия о локали. В отличии от например ntfs. Как следствие на них можно писать в произвольной локали и правильность работы различных утилит может зависеть от того, правильно ли была выставлена локаль, хотя бы потому что символам одной локали может не быть соответствия в другой.

>Как-то это не совсем правильно - что-же мне теперь, каждый раз при копировании разных файлов менять локаль?

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