2011-01-19 4 views
1

Я пытаюсь отправить данные с сервера, написанного в Erlang:Erlang отправить гнездо кириллицы данные

gen_tcp:send(Socket, "Server connection refused \r\n"). 

Это нормально. Но когда я пытаюсь отправить данные с нелатинскими символами, e. г. кириллицей, я вижу отчет об ошибке. Например, если я использую:

gen_tcp:send(Socket, "Привет \r\n"). 

Вместо строки я вижу отчет об ошибке. Как отправить строку с нелатинскими символами через TCP-сокет из Erlang?

+2

Поправьте меня, если я ошибаюсь, но не сокеты только для отправки байтовых потоков? Для ASCII обычно существуют удобные методы, которые могут обрабатывать строку как просто байты, но для обычного текста вам нужно использовать кодировку символов. – Joey

ответ

2

Попробуйте это:

8> unicode:characters_to_binary("пириуэт да"). 
<<208,191,208,184,209,128,208,184,209,131,209,141,209,130, 
    32,208,180,208,176>> 
9> 
+0

Эта работа в оболочке, но когда я помещаю ее в код gen_server, я получаю отчет об ошибке – 0xAX

+1

@shk: Не могли бы вы предоставить код, с которым вы столкнулись? –

+0

Спасибо. задача решена. – 0xAX

Смежные вопросы