IRC module charset

Rus: Доброго времени суток всем! Я так понимаю что могу обратиться на руссоком ;-)

Я использую сервер jabber.ru и через него пытаюсь выйти в IRC. Так как прямого выхода нет, я использую irc.jabber.snc.ru. Теперь собственно о кодировке.

По-умолчанию irc модуль сервера ejabberd использует кодировку koi8-r. В настройках IRC канала можно указать кодировку, но IRC сервера (в частности irc.nov.ru) не понимают строку "koi8-r", они понимают только "koi", а по-умолчанию используют "win". Соотвественно получается что если ничего не указывать в кодировке то в IRC видны буквы в неправильной кодировке. Если указывать "koi", то вообще никакие русские буквы не видны. Я подозреваю, что это связано с тем, что irc-модуль сервера не понимает что такое "koi", ему нужна строка "koi8-r". Можно ли как-то решить эту проблему? Мне кажется что если сделать более мягкие условия выбора кодировки или добавить в конфигурацию сервера соответствующие настройки, то можно добиться работоспособности IRC-модуля с русскими IRC-серверами.

С уважением,

Глеб "GLoom" Лебедев.

mod_irc не посылает

mod_irc не посылает введенную кодировку на сервер. Он просто использует ее для перекодировки в/из UTF-8. Так что, полагаю, достаточно указать кодировку "cp1251".

Хм... Когда я ука

Хм... Когда я указываю в параметрах irc у себя следующую строку -
[{"irc.nov.ru","koi"}]

то она явно отправляется на сервер, так как если напиать
[{"irc.nov.ru","koi8-r"}]

то IRC сервер ругается на koi8-r и говорит что не может понять что это за фигня, что ему нужно одно из следующих - koi, win, translit..

Значит, я неправ

Значит, я неправильно понимаю, как работает mod_irc.

может я не по

может я не по теме... но из прочитанного я так и не понял что мне прописать, дабы заработал IRC внутри локалки.

обьясняю.
есть локалка порядка 1000 компов.
в сети имена распределяются вида vova.homnet.lan, masha.homnet.lan и так далее...

сервер с ejabberd на винде 2003, на компе rol.homnet.lan (на этом же компе сервер IRC с портом 6667 и кодировкой 1251)
для не резкого перехода на новый клиент нужно организовать "связь"...
в конфиге написал (если неправ то поправьте)

* * *
{mod_private, []},
{mod_irc, [{"rol.homnet.lan","cp1251"}]},
{mod_muc, [{access, muc},
{access_create, muc},
{access_admin, muc_admin}]},
* * *
в жаббербраузере появляется пункт с названием irc.rol.homnet.lan
при попытке создать комнату или войти ругается и выдаёт

ERROR!
Chat@irc.rol.homnet.lan/rol
код ошибки:400
Сообщение об ошибке:Bad Request

помогите пожалста разобраться в проблеме :(

У меня с кодировкой работает так

{mod_irc, [
%{host,"irc.domain.im"},
{default_encoding, "cp1251"}
]}

Спорить не о чем

Спорить не о чем, mod_irc и пытается выставить заданную кодировку на irc сервере и использует её для последующей перекодировки в utf-8:

http://www.jabberstudio.org/cgi-bin/viewcvs.cgi/cvs/ejabberd/src/mod_irc...

<pre>
..
io_lib:format("CODEPAGE ~s\r\n", [StateData#state.encoding])),
..
</pre>

Раз на irc.nov.ru по умолчанию используется win, то сообщение об ошибке от irc сервера уже не имеет значения — действительно достаточно лишь задать cp1251 (aka windows-1251).

и, кстати, некоторые синонимы назва

и, кстати, некоторые синонимы названий кодировок irc.nov.ru всё-таки понимает:

<irc.nov.ru!irc.nov.ru> NOTICE: Codepage translation is set to: cp1251
Syndicate content