Any file without BOM is open alway as ascii, because the file can save as plain text
Small Helper ... Only for UTF8 file with missing BOM (invalid file format)
Code: Select all
;-TOP
Procedure.s AddUTF8BOM(FileName.s)
Protected file, newfile, NewFileName.s, ft, context.s
file = ReadFile(#PB_Any, FileName)
If file
ft = ReadStringFormat(file)
If ft = #PB_Ascii
NewFileName = FileName + ".utf8"
newfile = CreateFile(#PB_Any, NewFileName)
If newfile
WriteStringFormat(newfile, #PB_UTF8)
context = ReadString(file, #PB_File_IgnoreEOL)
WriteStringN(newfile, context)
CloseFile(newfile)
EndIf
EndIf
CloseFile(file)
EndIf
ProcedureReturn NewFileName
EndProcedure
file.s = OpenFileRequester("Textfile", "", "", 0)
r1.s = AddUTF8BOM(file.s)
Debug r1