red_scorpion1

مشكلة إستقبال رسائل باللغة العربية AT Command ؟

2 ردود في هذا الموضوع

السلام عليكم ورحمة الله وبركاته
 
المشكلة التى اواجهها هى ( عند تنفيذ اكواد USSD ) عدم إستقبالى للرد من المودم وذلك فى حالة اذا كان الرد باللغة العربية فهو يظهر لى على هيئة ارقام ؟؟ وان كانت الرسالة باللغة الإنجليزية فهى تظهر دون اى مشاكل ولكنى احتاج للتعديل عليها حيث انه يظهر بعض الاحرف التى لا افهم معناها واضطر لإزالتها 
 
كود الإتصال وتنفيذ أوامر USSD
 
port.Close();port.BaudRate = 921600;port.PortName = com1.Text;port.Parity = Parity.None;port.DataBits = 8;port.StopBits = StopBits.One;port.ReadTimeout = 3000;port.WriteTimeout = 3000;port.DataReceived += port_DataReceived;port.Open();//تحويل جمله طايرif (men.SelectedIndex == 8){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", goml1.Text + mob.Text + "*" + int.Parse(val.Text) + "*" + pass1.Text + "#", Environment.NewLine));}//تحويل قطاعي طايرif (men.SelectedIndex == 7){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", katay1.Text + mob.Text + "*" + int.Parse(val.Text) + "*" + pass1.Text + "#", Environment.NewLine));}//معرفة رقم الموبايلif (men.SelectedIndex == 4){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", mob_no1.Text, Environment.NewLine));//messag.Text = Session["msg"].ToString();}//معرفة تاريخ ووقت الشبكةif (men.SelectedIndex == 3){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", date11.Text, Environment.NewLine));}//معرفة رصيد التحويلif (men.SelectedIndex == 6){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", exch_credit1.Text + pass1.Text + "#", Environment.NewLine));//messag.Text = Session["msg"].ToString();}//معرفة رصيد المكالماتif (men.SelectedIndex == 5){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", call_credit1.Text, Environment.NewLine));//messag.Text = Session["msg"].ToString();}//ussd ارسال رسالهif (men.SelectedIndex ==0){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", sendussd1.Text + mess.Text, Environment.NewLine));//messag.Text = Session["msg"].ToString();}//اجراء مكالمةif (men.SelectedIndex == 2){//*666*2*X*Y*Z#port.Write(String.Format("AT+CUSD=1,\"{0}\"{1}", call1.Text + mob.Text, Environment.NewLine));//messag.Text = Session["msg"].ToString();}////ارسال رسالهif (men.SelectedIndex == 1){try{if (objclsSMS.sendMsg(port, mess.Text, mob.Text)){//MessageBox.Show("Message has sent successfully");lblmsg.Text = "Message has sent successfully";}else{//MessageBox.Show("Failed to send message");lblmsg.Text = "Failed to send message";}}catch (Exception){throw;}}

كود إستقبال الرد من المودم

void port_DataReceived(object sender, SerialDataReceivedEventArgs e)        {            SerialPort spL = (SerialPort)sender;            byte[] buf = new byte[spL.BytesToRead];            spL.Read(buf, 0, buf.Length);            foreach (Byte b in buf)            {                mm += b.ToString();            }            var result = Encoding.UTF8.GetString(buf);//just return OK            string x = result.Remove(0, 11);            o = x.Remove(x.Length - 13);           lblmsg.Text = o;        }

فكيف يمكن استقبال الرسالة باللغة العربية - وكيف يمكن الاستغناء عن الجزء الذى اقوم فيه بتنسيق الرسالة بحيث اعرض الرسالة التى استقبلها كما هى سواء باللغة العربية او الانجليزية ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هل من إفادة جزاكم الله خيرا ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .