שליחת טקסט בעברית לserialport בc#
- 
הכנתי תוכנה פשוטה שמתחברת לנוקיה דרך סריאל פורט (בבלוטוס בד"כ) ושולחת sms. אך טקסט בעברית הופך לסימני שאלה 
 הפתרונות שמצאתי כאן לא עזרו לי
 הקוד הרלוונטי:private SerialPort port = new SerialPort(); private void btnSend_Click(object sender, EventArgs e) { port.PortName = cmbPorts.SelectedItem.ToString(); try { port.Open(); port.WriteLine("AT+CMGF=1\r"); port.WriteLine($"AT+CMGS=\"{txtTel.Text}\"\r"); port.WriteLine($"{txtMsg.Text}\x1A"); port.Close(); } catch (Exception ex) { if (MessageBox.Show(ex.Message, "שגיאה", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading) == DialogResult.Retry) btnSend.PerformClick(); } }תודה רבה, אשריכם 
- 
הכנתי תוכנה פשוטה שמתחברת לנוקיה דרך סריאל פורט (בבלוטוס בד"כ) ושולחת sms. אך טקסט בעברית הופך לסימני שאלה 
 הפתרונות שמצאתי כאן לא עזרו לי
 הקוד הרלוונטי:private SerialPort port = new SerialPort(); private void btnSend_Click(object sender, EventArgs e) { port.PortName = cmbPorts.SelectedItem.ToString(); try { port.Open(); port.WriteLine("AT+CMGF=1\r"); port.WriteLine($"AT+CMGS=\"{txtTel.Text}\"\r"); port.WriteLine($"{txtMsg.Text}\x1A"); port.Close(); } catch (Exception ex) { if (MessageBox.Show(ex.Message, "שגיאה", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading) == DialogResult.Retry) btnSend.PerformClick(); } }תודה רבה, אשריכם 
- 
@נ-נח נסה לשנות את השורה הראשונה לזה private SerialPort port = new SerialPort() { Encoding = System.Text.Encoding.UTF8 };
- 
@נ-נח נסה לשנות את השורה הראשונה לזה private SerialPort port = new SerialPort() { Encoding = System.Text.Encoding.UTF8 };
- 
@dovid תודה, ניסיתי את זה וזה לא עזר. 
 זה מחליף את העברית לתווים משונים (לא סימני שאלה כמו בASCII)
- 
@רפאל אשמח מאד אם תוכל לפרט איך הצלחת, תודה רבה 
 האם צריך גם המרה (Encoding.UTF8.GetBytes) או שכוונתך להגדיר קידוד בפלאפון? (איך עושים את זה? יש לי NOKIA C2-01)
 תודה@נ-נח השתמשתי בCom0Com בשביל לדמות זוג פורטים וירטואלים. הרמתי Instance של הקוד דלהלן עבור כל אחד מהפורטים: static void Main() { var names = SerialPort.GetPortNames(); Console.WriteLine("Serial ports, Select one:"); foreach (string name in names) Console.WriteLine(name); SerialPort p = new SerialPort(Console.ReadLine()) { Encoding = System.Text.Encoding.UTF8 }; p.DataReceived += (object sender, SerialDataReceivedEventArgs e) => { Console.WriteLine($"Data Received: {(sender as SerialPort).ReadExisting()}"); }; p.Open(); Console.WriteLine("Send data:"); for (string line; (line = Console.ReadLine()) != "quit";) p.WriteLine(line); p.Close(); }
- 
@נ-נח השתמשתי בCom0Com בשביל לדמות זוג פורטים וירטואלים. הרמתי Instance של הקוד דלהלן עבור כל אחד מהפורטים: static void Main() { var names = SerialPort.GetPortNames(); Console.WriteLine("Serial ports, Select one:"); foreach (string name in names) Console.WriteLine(name); SerialPort p = new SerialPort(Console.ReadLine()) { Encoding = System.Text.Encoding.UTF8 }; p.DataReceived += (object sender, SerialDataReceivedEventArgs e) => { Console.WriteLine($"Data Received: {(sender as SerialPort).ReadExisting()}"); }; p.Open(); Console.WriteLine("Send data:"); for (string line; (line = Console.ReadLine()) != "quit";) p.WriteLine(line); p.Close(); }
- 
@רפאל לא עובד למעשה בנוקיה, וגם לא הבנתי איך משתמשים בcom0com (מוצג חלון כזה  ) )
 סליחה על השיגוע
 

