2017-07-04 12 views
-3
string recievedData = ExecCommand(port, "AT", 300, "No phone connected"); 
recievedData = ExecCommand(port, "AT+CMGF=1", 300, "Failed to set message format."); 
String command = "AT+CMGS=\"" + PhoneNo + "\""; 
recievedData = ExecCommand(port, command, 300, "Failed to accept phoneNo"); 
command = "عربي"+ char.ConvertFromUtf32(26) + "\r"; 
recievedData = ExecCommand(port, command, 3000, "Failed to send message"); 

コードは英語で動作しています コード送信??????? アラビア文字付きシリアルポートはアラビア文字を受け入れませんか?

+0

関連:https://stackoverflow.com/questions/15312059/sending-unicode-messages-such-as-in-persian-and-arabic-in-c-sharp-using-at-comが、私はgsmcommのようなライブラリを使用して、テキストモードではなくPDUモードでハードウェアに話すことを勧めます。 –

答えて

2

デフォルトのエンコーディングはEncoding.ASCIIです。 エンコードをUTF32に設定できます。または、文字列をバイトに変換してそのまま送信します。

Encoding enc = new UTF8Encoding(true, true); 
YourPort.Encoding = enc; 

var bytes = Encoding.Unicode.GetBytes("عربي"); 
関連する問題