Skip to content

Commit

Permalink
Issue #140: Be sure to write tab backup files in UTF8 without BOM
Browse files Browse the repository at this point in the history
  • Loading branch information
ansgarbecker committed Oct 15, 2019
1 parent 10f6106 commit deab987
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion source/apphelpers.pas
Expand Up @@ -26,6 +26,11 @@ TOrderCol = class(TObject)

TLineBreaks = (lbsNone, lbsWindows, lbsUnix, lbsMac, lbsWide, lbsMixed);

TUTF8NoBOMEncoding = class(TUTF8Encoding)
public
function GetPreamble: TBytes; override;
end;

TDBObjectEditor = class(TFrame)
private
FModified: Boolean;
Expand Down Expand Up @@ -1119,10 +1124,13 @@ function GetTempDir: String;
procedure SaveUnicodeFile(Filename: String; Text: String);
var
Writer: TStreamWriter;
Enc: TEncoding;
begin
Writer := TStreamWriter.Create(Filename, False, TEncoding.UTF8);
Enc := TUTF8NoBOMEncoding.Create;
Writer := TStreamWriter.Create(Filename, False, Enc);
Writer.Write(Text);
Writer.Free;
Enc.Free;
end;


Expand Down Expand Up @@ -4227,6 +4235,14 @@ function TAppSettings.DirnameBackups: String;



{ TUTF8NoBOMEncoding }

function TUTF8NoBOMEncoding.GetPreamble: TBytes;
begin
SetLength(Result, 0);
end;


initialization

NumberChars := ['0'..'9', FormatSettings.DecimalSeparator, FormatSettings.ThousandSeparator];
Expand Down

0 comments on commit deab987

Please sign in to comment.