Tôi đang cố gắng tạo một tệp văn bản bằng VB.Net với mã hóa UTF8, không có BOM. Ai có thể giúp tôi, làm thế nào để làm điều này?
Tôi có thể viết tệp với mã hóa UTF8 nhưng, làm cách nào để xóa Byte Order Mark khỏi nó?
chỉnh sửa1: Tôi đã thử mã như thế này;
Dim utf8 As New UTF8Encoding()
Dim utf8EmitBOM As New UTF8Encoding(True)
Dim strW As New StreamWriter("c:\temp\bom\1.html", True, utf8EmitBOM)
strW.Write(utf8EmitBOM.GetPreamble())
strW.WriteLine("hi there")
strW.Close()
Dim strw2 As New StreamWriter("c:\temp\bom\2.html", True, utf8)
strw2.Write(utf8.GetPreamble())
strw2.WriteLine("hi there")
strw2.Close()
1.html được tạo chỉ với mã hóa UTF8 và 2.html được tạo với định dạng mã hóa ANSI.
Cách tiếp cận đơn giản - http://whatilearnttuday.blogspot.com/2011/10/write-text-files-without-byte-order.html