Próbuję utworzyć plik tekstowy za pomocą VB.Net z kodowaniem UTF8, bez BOM. Czy ktoś może mi pomóc, jak to zrobić?
Mogę napisać plik z kodowaniem UTF8, ale jak usunąć z niego znacznik kolejności bajtów?
edit1: próbowałem kodu w ten sposób;
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 zostanie utworzony tylko z kodowaniem UTF8, a 2.html zostanie utworzony z formatem kodowania ANSI.
Uproszczone podejście - http://whatilearnttuday.blogspot.com/2011/10/write-text-files-without-byte-order.html