22 สิงหาคม 2561

VB.NET Export Text file ASCII ผ่าน IO.StreamWriter ภาษาไทยไม่ได้ / ภาษาไทยเป็นต่างดาว

VB.NET Export Text file ASCII ผ่าน IO.StreamWriter  ภาษาไทยไม่ได้

Coding VB.NET



Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "txt files (*.txt)|*.txt"
saveFileDialog1.FilterIndex = 0
saveFileDialog1.RestoreDirectory = True
saveFileDialog1.FileName = "testtxt"

If saveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
   Dim writer As IO.StreamWriter = New IO.StreamWriter(saveFileDialog1.OpenFile(), System.Text.Encoding.ASCII)
   If (writer IsNot Nothing) Then
      writer.WriteLine("data here")
   End If
   writer.Close()
   Process.Start("explorer.exe", IO.Path.GetDirectoryName(saveFileDialog1.FileName))
End If

จากบรรทัดนี้
Dim writer As IO.StreamWriter = New IO.StreamWriter(saveFileDialog1.OpenFile(), System.Text.Encoding.ASCII)
1. ถ้าใช้ Encoding.ASCII จะทำให้ภาษาไทยเป็นภาษาต่างดาว
2. ถ้าใช้ Encoding.Unicode จะทำให้ภาษาไทยอ่านได้ แต่ File จะเป็น UTF-8,Unicode ซึ่งนำมาใช้งานต่อเป็น ASCII ได้ถ้า Save as ผ่าน Windows
3. แนวทางจากข้อ 1. ให้เปลี่ยนเป็น Encoding.Default จะทำให้ภาษาไทยอ่านได้และ File เป็น ASCII ด้วย

0 ความคิดเห็น:

แสดงความคิดเห็น