The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Приручение Linux к кодировке CP1251

28.12.2005 13:49

Компиляция из известных статей про cp1251. Все разрозненные материалы собраны в одной статье.

Лично мне эта локаль нужна для держания анонимного ftp с большим количеством русских имён файлов, для использования Windows пользователями. Адаптировано в основном для Slackware Linux.

  1. Главная ссылка к новости (http://www.livejournal.com/use...)
Автор новости: Evgeny Terekhov
Тип: яз. русский / Практикум
Короткая ссылка: https://opennet.ru/6712-linux
Ключевые слова: linux, locale, rus, cp1251
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 14:14, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не вижу проблем чтобы использовать UTF8, поднят ftp сервер на CentOS и проблем нет, так же естсь серваки с самбой тоже ни каких проблем ...
     
     
  • 2.2, yt (?), 14:31, 28/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    ну ты просто крут -- у тебя никаких проблем и об этом нужно обязательно всем рассказать.
     
  • 2.3, sash (??), 14:40, 28/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Как я понимаю проблема в том что в сессии ftp нельзя явно указать кодировку в которой пишешь.

    Потому приходится всем основным не-windows клиентам (mac, linux) использовать cp1251 кодировку.

    Но для чего cp-зировать всю ОС для этого, понимаю слабо. Большинство русскоязычной информации для linux в koi8, хотя конечно кто будет пользоватся тем же маном на сервере? ДА и маны на русском - это.. кхм.

    ЛАдно. Тема спорная. :) Факт.

     
     
  • 3.16, Ray Dudu (?), 18:31, 28/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    В свое время пришлось довольно плотно познакомиться с РФЦ документом посвященным протоколу FTP, номер его 959 кажися. Так вот в данном документе вообще ни слова не сказано об названиях файлов для представления которых нужны символы с кодами выше 127...
    ИМХО отсюда и все беды. У одного ФТП КОИ у другого ЦП...
     

  • 1.4, Len (?), 14:44, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нормально-нормально.
    Нечего как всегда кидаться на человека.
    Поделился - слава ему и хвала.
     
  • 1.5, Аноним (-), 16:02, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вообщето прикручивание в таком случае а не прикручение
     
  • 1.6, Abu (?), 16:05, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На человека, конечно, кидаться нечего, наваял памятку по  локализации, молодец. Но расскажите мне просто смысл кучи файлов на ftp с русскими именами (вдруг я тоже так делать захочу). И я отстану ((:
     
  • 1.8, dryupitz (?), 16:40, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это чтобы враги не качали ;)
     
  • 1.14, guest (??), 17:47, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда... чувствуется матерый слакварист...
    Поискать ftp север с возможностью перекодировки имен в голову не приходило?
     
     
  • 2.15, B.O.B.A.H. (??), 18:08, 28/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    > Мда... чувствуется матерый слакварист...
    > Поискать ftp север с возможностью перекодировки имен в голову не приходило?

    а если клиенты с разных ОС (с разными кодировками) лезут?
    с какого на какой перекодировать?

     

  • 1.17, Anonizmous (?), 18:39, 28/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С UTF-8 на UTF-32
     
     
  • 2.18, Vovan (??), 19:14, 28/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Я для этой цели написал "файловыю систему" с использованием FUSE для перекодировки имен файлов. На сервере UTF-8, все клиенты могут получать имена в той кодировке, которая им нужна.
     
     
  • 3.19, fresco (?), 00:09, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    А исходники не покажешь? Если надумаешь -- мыль на fresco_@mail.ru.
    Интерес чисто профессиональный...
     
  • 3.20, 4 (?), 00:39, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    да тоже очень интересно, на сервере у меня utf8  на ftp используется патч перекодировки в 1251 но тогда получается если у клиента не 1251 он не видит русских файлов... Если можешь поделись инфой dev_null#nm.ru
     
     
  • 4.22, Vovan (??), 06:11, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Исходники лежат на ftp://cge.sibnet.ru/pub/fuseiconv
    Использует FUSE и функции iconv из glibc.
    Просьба сильно не ругать, я не программер, я админ, когда проблема вылезла - быстренько наклепал.
    Для сборки нужны параметры компилятора:
    -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=22 -DHAVE_SETXATTR
    (Последний - для ACL)
    Для линковки:
    -lfuse
     
     
  • 5.23, Vovan (??), 06:20, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Основная идея такая: некоторая директория монтируется в другое место, при этом в точке монтирования имена файлов перекодируются в соответствии с параметрами запуска программы.
    Можно использовать: при смене кодировки локали, при подключении чужого диска, для FTP, для NFS (если клиенты с локалью, отличной от сервера, как у меня).
    Для FTP можно организовать виртуальные серверы (на какой клиент попадёт, может определяться, например, его IP), все будут видеть имена в своей кодировке.
     
  • 3.35, anonym (?), 09:39, 15/01/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Я для этой цели написал "файловыю систему" с использованием FUSE для перекодировки
    >имен файлов. На сервере UTF-8, все клиенты могут получать имена в
    >той кодировке, которая им нужна.


    Что ж так сложно, когда можно использовать curlftpfs с патченной fuse (патч на fuse вот здесь обсуждается: http://www.linux.org.ru/jump-message.jsp?msgid=1737823&lastmod=1168826942647)

     

  • 1.21, Суслик (?), 04:27, 29/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну зачем линуксу МАЗДАЙ1251  кодировка ??? ??? ???
    он ведь в utf8 отлично работает - зачем эти глюкавые кодировки - а потом парься незнай как сделать многоязычный сайт
     
     
  • 2.24, Игорь (??), 06:31, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    А разьве utf8 не маздай наклепал и засовал везде где смог?
     
     
  • 3.25, Andrey (??), 07:34, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >  А разьве utf8 не маздай наклепал и засовал везде где смог?

    Ее униксовские папы придумали. http://en.wikipedia.org/wiki/UTF-8

     
  • 3.26, CrazyF (?), 10:04, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Батенька учите матчасть, "родные" для виндавоза cp866 (не совсем родная) и вусмерть родная cp1251 (честно скажу нафиг не нужно)
    А перекодировку, если конечно по уму, должен делать "клиент", а не сервер.
     
  • 2.27, Аноним (-), 10:33, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >он ведь в utf8 отлично работает - зачем эти глюкавые кодировки -
    >а потом парься незнай как сделать многоязычный сайт

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

    Давайте поговорим про огромную проблему, про которую все молчат - манипуляция с unicode строками в Си. Например, как разбить unicode строку на подстроки без тормозов, указателем уже не пробежишся и строка перестает быть простым массивом символов, а превращается нечто абстрактное подобное строкам в pascal. Или наживать гемморой переходя на использование utf функицй Glib2 на каждый чих ?

     
     
  • 3.28, Telepoozeeck (?), 10:45, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    почему гимморой ? очень удобно . g_utf8_to_locale ... g_utf8_validated() ...
     
  • 3.29, dimus (??), 11:06, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    А не нужно манипулировать с утф8 строками. Их использовать только для хранения. А когда нужно манипуляцие - перекодировать в utf32
     
  • 3.30, walrus (?), 11:09, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    для этого есть wchar_t
     
  • 2.37, Станислав (?), 09:50, 10/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Дело в том что в кодировке UTF-8 можно хранить имена файлов не такие длинные как в win1251. Samba клиенты вываливаются с ошибкой когда создают такие файлы.


     

  • 1.31, dimus (??), 11:10, 29/12/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, перекодировать и вправда надо у клиента. Если клиент виндовый - поставь ему ФАР. Там есть классный ФТП клиент, в котором есть выбор кодовой страницы. И проблема решена. Обучить тупого юзверя пользоваться ФАРом можно в две недели. Нормальный учится гораздо быстрее :)
     
     
  • 2.32, Lin (??), 18:56, 29/12/2005 [^] [^^] [^^^] [ответить]  
  • +/
    если юзеров тысяч эдак 5-10, а ты провайдер?
     
     
  • 3.36, MDx (?), 00:43, 04/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >если юзеров тысяч эдак 5-10, а ты провайдер?

    Сделать мануальчики по пользованию распостранёнными программами с картинками для особо тупых и всех туда автоматом лицом тыкать.

     

  • 1.34, checat (?), 10:23, 20/01/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В RedHat (по крайней мере, начиная с 7.x и до сегодняшних дней, вероятно, также и в Fedora) вся настройка консоли сводится к прописыванию параметров в /etc/sysconfig/i18n и /etc/sysconfig/keyboard

    Настройка X-ов, в общем, не обязательна, хотя имеет смысл удалить из системы все шрифты, не содержащие кириллических символов, и поставить уникодные TTF шрифты из Windows или аналоги.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру