[fpc-devel] Console encoding on Windows, output to file with ">"
Ondrej Pokorny
lazarus at kluug.net
Wed May 3 11:43:59 CEST 2017
On 03.05.2017 9:07, Petr Kristan wrote:
> Try:
> Writeln(UTF8ToSys('ÄäÖöÜüß'));
No, it doesn't help.
I debugged into the issue and found out that the exported file was in
DOS-850 encoding (the same as the console lived in). Delphi changes the
output encoding to "DefaultSystemCodePage" if Output is different from
console. This code shows the same behavior as in Delphi:
---
program GermanTest;
{$codepage utf8}
uses
Windows, SysUtils;
begin
if GetFileType(TTextRec(Output).Handle) <> FILE_TYPE_CHAR then
SetTextCodePage(Output, DefaultSystemCodePage);
Writeln('ÄäÖöÜüß');
end.
---
I reported it in bug tracker: https://bugs.freepascal.org/view.php?id=31746
On 03.05.2017 8:56, Michael Thompson wrote:
> When I open the attachment on my PC, I see the correct characters
Upps. My fault - I sent the wrong (= with correct characters :D) file.
Ondrej
More information about the fpc-devel
mailing list