Skip to content

Commit 87978cf

Browse files
committed
Change code page for legacy database files to 1252
Pre-Unicode Code Snippet Database files were written using the default code page in the UK: 1252. Such legacy file were being read back using the system default code page, which outside the UK may not be 1252. Fixes #35
1 parent aca5520 commit 87978cf

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Src/UMainDBFileReader.pas

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ interface
3030
/// </remarks>
3131
TMainDBFileReader = class(TObject)
3232
strict private
33+
const
34+
/// <summary>ANSI code page used for v4 and earlier database files.
35+
/// </summary>
36+
LegacyCodePage = TEncodingHelper.Windows1252CodePage;
3337
var
3438
/// <summary>Encoding to use when reading text files.</summary>
3539
fEncoding: TEncoding;
@@ -129,7 +133,7 @@ function TMainDBFileReader.GetFileEncoding(const FileName: string): TEncoding;
129133
finally
130134
FS.Free;
131135
end;
132-
Result := TEncoding.Default;
136+
Result := TEncodingHelper.GetEncoding(LegacyCodePage);
133137
end;
134138

135139
function TMainDBFileReader.ReadAllStrings(const FileName: string): IStringList;

0 commit comments

Comments
 (0)