ejabberc_xmlrpc + кириллица

Добрый день. Возникла вот такая проблема.
Отсылаю сообщение содержащее кириллицу, через ejabberd_xmlrpc комадной send_message_chat и клиент которому адресовывается сообщение выходит в оффлайн с ошибкой. Если сообщение содержит только латинский буквы, то все нормально - клиент получает сообщние.
Я так понимаю это из-за того что ejabberd_xmlrpc не понимает utf8?
В результате проверки и экспериментов, я пришел к выводу что кириллические шрифты не распознает сама библиотека - xmlrpc (модуль эрланга). Саму библиотеку брал отсюда - http://www.ejabberd.im/files/contributions/xmlrpc-1.13-ipr2.tgz
Что посоветуете для решения моей проблемы. Мне необходимо делать много разных действий через ejabberdctl интерфейс. Например создавать комнаты с русскими именами, отсылать русскоязычные сообщения. Пробовал mod_rest, но с ним у меня не получилось сделать вот так например:

    # python
    call = "create_room 'КОМНАТА С КИРИЛЛИЦЕЙ В НАЗВАНИИ' conference.localhost localhost"
    resp = urllib2.urlopen(server_url, call)
    result = resp.read()
    return json.dumps(result)

Вылетает ошибка если содержатся пробелы в названии. Плюс тянет за собой в название кавычки. Да и на ejabberd_xmlrpc уже много завязано в моей системе, а вот про кириллицу понял только сегодня.
Возможно есть другие эрланговские библиотки для работы с xmlrpc, которые могут работать с кириллицей

перешел на mod_rest. Если

перешел на mod_rest. Если кому понадобится, написал вот такую обертку на питоне

def ejabberdctl(params):
    """send ejabberdctl command via post data"""
    import urllib2
    server_url = settings.XMPP_REST_SERVICE_HOST
    call = ' '.join(['\"' + param + '\"'  for param in params])
    try:
        resp = urllib2.urlopen(server_url, call)
    except:
        raise Exception("Error in ejabberdctl. Error command - %s" % " ".join(params))

    return [data.split('\t') for data in resp.read().split('\n')]

Использование

    ejabberdctl([
        'register',
        'username',
        'host',
        'password'
    ])

Вообще для выполнения комманд судя по всему лучше использовать mod_rest. Модуль ejabberd_xmlrpc - не обрабатывает кириллицу. Причем насколько я понял, проблема в самой erlang-овской библиотеке xmlrpc-1.13... Поправьте меня, если я ошибаюсь.

Вам бы стоило обратиться к

Вам бы стоило обратиться к разработчикам. Они, боюсь, не читают русские разделы форума. Можно либо написать в англоязычный раздел, либо в их багтрекер.

Syndicate content