LINUX.ORG.RU

Русский в linuxdc++


0

0

Вот "посчастливилось" познакомиться с такой штукой, как DC++.

Пользуюсь linuxdc++ (версия cvs20060116)

Вот только с отображением русского проблеммы и поиск на русском не работает.

Запускаю так: LANG="ru_RU.CP1251" ./dcpp

Всё что смог найти по этому вопросу: http://www.linux.org.ru/view-message.jsp?msgid=1111512

Подскажите, пожалуйста, как починить. Неужели и правда надо пересобирать glibc?

★★

У меня все работает "из коробки" локаль UTF запускаю с CP1251. Дистрибутив Ubuntu, на Федоре тоже пробовал - все ОК ничего не пересобирал. насчет glibc первый раз слышу ( если ты не джентист .. )

SI ★★☆☆
()
Ответ на: комментарий от SI

Локаль koi8-r. А про glibc это я прочитал в обсуждении по ссылке.

mr ★★
() автор топика
Ответ на: комментарий от mr

какая-то из последних cvs ... 2-3 дневной давности вроде бы ...

SI ★★☆☆
()

Скачал src-rpm с сайта альтлинукса. Там есть readme, в котором написано, что достаточно прописать в ~/.dcpprc LANG="ru_RU.cp1251 и всё с русским будет впорядке. На деле -- никакого эффекта. Ещё там есть патч, если его наложить, то программа воообще не работает (segmentation fault). Вот такая жопа.

P.S. Сейчас пойду valknut пробовать.

P.P.S. А всё проклятая винда!

mr ★★
() автор топика

Если localedef сделать под рутом:

localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Потом LANG="ru_RU.CP1251" ./dcpp -- опять никаких изменений.

mr ★★
() автор топика
Ответ на: комментарий от mr

а если export LANG="ru_RU.CP1251" ( в баше ) а потом просто набрать locale - нет ошибок что локаль не сгенерена ? А каркозябры какого типа ? просто ?-ки или KOI8-CP1251 ?

SI ★★☆☆
()
Ответ на: комментарий от SI

>а если export LANG="ru_RU.CP1251" ( в баше ) а потом просто набрать locale - нет ошибок что локаль не сгенерена ?

Да нет. locale просто выдаёт
LANG=ru_RU.CP1251
LC_CTYPE=ru_RU
LC_NUMERIC=ru_RU
LC_TIME=ru_RU
LC_COLLATE=ru_RU
LC_MONETARY=ru_RU
LC_MESSAGES=ru_RU
LC_PAPER=ru_RU
LC_NAME=ru_RU
LC_ADDRESS=ru_RU
LC_TELEPHONE=ru_RU
LC_MEASUREMENT=ru_RU
LC_IDENTIFICATION=ru_RU
LC_ALL=

Кстати и до выполнения localedef -c -i ru_RU -f CP1251 ru_RU.CP1251 комманда locale ошибок не выдавала -- по-моему она просто печатает переменные окружения.

Кракозябры типа KOI8-CP1251 (и в чате, и при сохранении файлов). Поиск на русском не работает.

Пора сдаваться?

mr ★★
() автор топика
Ответ на: комментарий от mr

LC_PAPER=ru_RU - интересная локаль однако .. - попробуй написать LC_ALL="ru_RU.CP1251" или поставить системной ru_RU.KOI8-R ...

SI ★★☆☆
()

У меня всё нормально работает. Запускаю `LANG=ru_RU.CP1251 ./ldcpp` (версия 20060202, версия примерно полугодичной давности тоже работала). Русский отображается, поиск на русском работает. Только постоянно выдаются ворниниги в терминал "Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()". glibc тут совсем не при чём.

А вот в валкнут (если его настроить) русские буквы в списке файлов и пр. отображаются нормально, а вот поиск на русском не работает. Вводишь русское слово, нажимаешь поиск - оно на вопросительные знаки сразу же заменяется. Ну и не ищет ничего в итоге. И ещё там надо угадать какая кодировка у клиента, с которого качать собираешься (выбрать в окне просмотра списка файлов как remote) - в зависимости от типа клиента бывает cp1251 или utf8. Но зато в валкнуте можно не хешировать расшареные файлы...

ЗЫ а вообще у меня ещё давно была идея скрестить какой-нибудь маленький dc++ клиент типа microdc с FUSE чтобы монтировать локальную dc++ как файловую систему. Только времени на реализацию этой идеи не было... Может кто у кого времени побольше сделает что-то подобное?

slav ★★
()
Ответ на: комментарий от SI

Заработало! С переменной LC_ALL="ru_RU.CP1251"!

Т.е. как LANG="ru_RU.CP1251" ./dcpp не работает с русским, а как LC_ALL="ru_RU.CP1251" ./dcpp работает! Ура! ВСЕ абракадабры исчезли, поиск заработал. Вот так.

В общем, СПАСИБО SI за помощь.

mr ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.