Различные кодировки Linux-Windows

  • Анамнез:
    Жил был старенький 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 желаемого результата не дало
    Вопрос: Кто виноват? и что делать?

  • Честно ничего не понял.


    Там же у тебя не Линукс а ФриБСД



    cp \\....\..\Persцnliche Daten 20060223 ето ты пример привёл или ты так и задаёш?



    или всё таки так


    cp /../../../Persцnliche Daten /home/user/backup


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



    Local стоит немецкая ?

  • Прошу прошения за неточность формулировок.
    1. Стоит FreeBSD 5.3
    2. Путь задаю естественно /../..
    3. Просто обрывает копирование (данные на новом месте не появляются)

  • Я думаю, что в команде cp перед каждым пробелом было-бы не плохо поставить обратный слеш => \

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Grischenkow ().

  • Ха, кто бы спорил. Теперь представь сколько будет длиться копирование если скрипт будет сначала анализировать - ставить пробел или нет, а потом копировать.

  • Хм но папки с командой 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.

  • Сам пока не могу вкурить вчём проблема.


    На Жуже стоит Самба
    Разницы нет или с Виндовс на Самбе (Жужа) или с самой Жужы делать новую папку с умлаутами всё показывает нормально все умлауты.(С пробелами уже ясно).


    А вот если с Дебиана например с Консоли делать папку на Жуже или на Винде , то с Дебиана Консоли показывает нормально, а на Винде каракули на Жуже тоже каракулии и с Дебина с КДЕ тоже каракули .
    Если Делаю папку с Дебина с КДЕ то всё нормально на всех видно ,но с Консоли каракули на Дебиане.


    А что я не могу вкурить так ето то шо локаль на Дебиане и Жуже одинаковая


    Жужа
    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, то и дебиан по идее должен все нормально показывать.


    вот втом то и дело шо там так и стоит

  • Начальство на части порвет пока я что-нибудь придумаю. Слушайте, чего хорошего есть в Жуже сервере. Мне предложили подумать, чего бы такое поставить что бы головняков больше не было. От винды отказались сразу по причине "низкой стоимости".