Как отправить SMS с текстом на персидском языке с помощью GSM-модема?

Я отправлю смс на персидском языке с помощью GSM-модема на C #, у меня проблема, когда я отправляю сообщение, текстовое сообщение неверно, например, textmessage = 'سلام', я получил '????'. модель модема = dlink 157 Пожалуйста, измените мой код

SerialPort sp = new SerialPort();
sp.PortName = "COM13";
sp.Open();

sp.Write("AT\r");
Thread.Sleep(2000);

sp.Write("AT+CSCS=HEX\r\n");
Thread.Sleep(2000);

sp.Write("AT+CMGF=1\r\n");
Thread.Sleep(2000);

sp.Write("AT+CSMP=1,173,0,8\r\n");
Thread.Sleep(2000);

sp.Write("AT+CMGS=" + "09120000000" + Char.ConvertFromUtf32(13));
Thread.Sleep(2000);           

sp.Write("سلام" + "\x1A" + "\r\n");
Thread.Sleep(2000);

var response = sp.ReadExisting();
if (response.Contains("ERROR"))
{
    MessageBox.Show("ERROR");
}
else
{
    MessageBox.Show("SEND");
}
sp.Close();

person A3ed    schedule 18.05.2018    source источник
comment
Связано: stackoverflow.com/questions/44904279/   -  person paradox    schedule 18.05.2018
comment
в связанном дубликате см. мой комментарий о команде AT+CSCS. Вы выбрали AT+CSCS=HEX, но не следуете ему и вместо этого пытаетесь написать sp.Write("سلام" непосредственно в виде текста. Пожалуйста, посмотрите, как это делается с другой кодировкой в ​​связанном дубликате, и либо используйте ту же (USCS2), либо правильно адаптируйтесь к HEX.   -  person quetzalcoatl    schedule 18.05.2018