2011-01-19 8 views
1

私はErlangで書かれたサーバーからのデータを送信しようとしている:のerlang送信ソケットキリル文字データ

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

それは大丈夫です。しかし、非ラテン記号でデータを送信しようとすると、e。 g。キリル文字、私はエラー報告を参照してください。たとえば、私が使用している場合:

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

文字列の代わりにエラーレポートが表示されます。 ErlangのTCPソケット経由で非ラテン文字の文字列を送信するにはどうすればよいですか?

+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