Анамнез:
Жил был старенький Debian сервер, мой предшественник решил перевести на что-нибудь поновее. Поставил FreeBSD, настроил Samba и скопировал все Share. После копирования заглянул в пару папок и увидев на месте умляутов "тараканьи лапки" решил что произошёл сбой при копировании и спокойно переименовал пару тройку файлов. Настроив Backup успокоился и жил счастливо до недавнего времени. (пока не уволился). Пока я входил в курс дела, разгребался со всем ничего особенного не происходило - и вот в пятницу вечером по непонятно какой причине слетел профиль нашего менеджера с достаточно важными документами. Попытка restore ничего не дала (unexpended end of file). При разборе полетов обнаружилось, что
а) Backup не работает и постоянно сбоит на папках с умляутами и путями с пробелами (\\....\..\Persцnliche Daten 20060223)
б) Попытки копировать папки профилей и Share командой ср обрываются
в) При периименовании файла в линуксе умляуты в линуксе отбражаются нормально, в виндах только в виде Pers_nliche Daten и соответственно наоборот.
Лечение:
1) замена кодировок при помощи convmv с utf8 на iso8859-1(15) дает результат только при отображении под линуксом.
2) smb.conf [global] display charset=de_DE.UTF8 желаемого результата не дало
Вопрос: Кто виноват? и что делать?
Различные кодировки Linux-Windows
- Technolog
- Вопрос темы решён
-
-
Честно ничего не понял.
Там же у тебя не Линукс а ФриБСД
cp \\....\..\Persцnliche Daten 20060223 ето ты пример привёл или ты так и задаёш?
или всё таки так
cp /../../../Persцnliche Daten /home/user/backup
то просто обрывает или выкидует ошибку ?
Local стоит немецкая ?
-
Прошу прошения за неточность формулировок.
1. Стоит FreeBSD 5.3
2. Путь задаю естественно /../..
3. Просто обрывает копирование (данные на новом месте не появляются) -
Забыл
4. locale de_DE.UTF8 -
а ну дай сюда шо кажет
$# locale -a
-
от at_AT.UTF8
at_AT.ISO8859-1
at_AT.ISO8859-15
до z -
Я думаю, что в команде cp перед каждым пробелом было-бы не плохо поставить обратный слеш => \
-
Ха, кто бы спорил. Теперь представь сколько будет длиться копирование если скрипт будет сначала анализировать - ставить пробел или нет, а потом копировать.
-
Хм но папки с командой cp не копируются
скорей всего с командой
cp -r
папка с пробелом копирутся так
akker@tresor23:/mnt$ ls |grep dr
dr dr
akker@tresor23:/mnt$ cp -r dr\ dr /home/akker/
akker@tresor23:/mnt$потом например с умлаутом
akker@tresor23:/mnt$ ls |grep d
dr dr
d„t
d”t„n
d”t„n d”t„n
Neuer Ordner (2)
akker@tresor23:/mnt$ cp -r d?t?n\ d?t?n /home/akker/я просто вместо умлаута вопрос ставлю
-
Пробовал я с пробелом, все получается. Проблема только в одном - \ надо непосредственно при копировании папки ставить, т.е. если папка /usr/home/samba должна копироваться а внутри папки с пробелами и умляутами, то \ должен внутри и стоять. Не могу же я каждую папку вручную копировать. И потом - что делать с отображением шрифтов - под виндами нормально все, а под BSD карaкули?
-
Обнаружил еше одно. При команде ll -b в SSH Shell выдает умляуты в форме непонятной для чтения, если ll -b дать напрямую в сервере то выдает умляуты в октальной форме, например Pers\366 /nliche Daten.
-
Походя возник вопрос - поблема только бсдешная или у Suse например такого нет?
-
Что все? Нет вариантов?
-
Сам пока не могу вкурить вчём проблема.
На Жуже стоит Самба
Разницы нет или с Виндовс на Самбе (Жужа) или с самой Жужы делать новую папку с умлаутами всё показывает нормально все умлауты.(С пробелами уже ясно).А вот если с Дебиана например с Консоли делать папку на Жуже или на Винде , то с Дебиана Консоли показывает нормально, а на Винде каракули на Жуже тоже каракулии и с Дебина с КДЕ тоже каракули .
Если Делаю папку с Дебина с КДЕ то всё нормально на всех видно ,но с Консоли каракули на Дебиане.А что я не могу вкурить так ето то шо локаль на Дебиане и Жуже одинаковая
Жужа
akker@tresor3:/> locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
akker@tresor3:/>Дебиан
akker@tresor23:/> locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
akker@tresor23:/> -
Может такое быть что самба мозги втирает? Например если поставить в [global] unix charset=de_DE.UTF8, то и дебиан по идее должен все нормально показывать.
-
Цитата
Со слов пользователя Technolog
Может такое быть что самба мозги втирает? Например если поставить в [global] unix charset=de_DE.UTF8, то и дебиан по идее должен все нормально показывать.вот втом то и дело шо там так и стоит
-
Начальство на части порвет пока я что-нибудь придумаю. Слушайте, чего хорошего есть в Жуже сервере. Мне предложили подумать, чего бы такое поставить что бы головняков больше не было. От винды отказались сразу по причине "низкой стоимости".