[fpc-pascal] Code page for the Windows event viewer

Abuy abbuyy at zoho.com
Wed Sep 15 16:09:19 CEST 2021


UnicodeString change only look of symbols (instead of quastion marks 
this — Іівівйц ГђВ№ 
вфівфъ2цву 
йцуцйівів). No BOM. File is UTF-8. No command 
line parameters.

On 15.09.2021 16:53, Tomas Hajny via fpc-pascal wrote:
> On 2021-09-15 15:08, Abuy via fpc-pascal wrote:
>> Instead of cyrillic characters there some garbage in Windows event
>> viewer. Have tried AnsiString with Windows-1251 code page (type
>> StringCP1251 = type AnsiString(1251)) but this does not work. What
>> works is RawByteString variable with the following conversion to
>> Windows-1251. Here is code:
>>
>> {$MODE objfpc} {$ifdef mswindows}{$apptype console}{$endif}
>> {$R C:\lazarus\fpc\3.2.0\source\packages\fcl-base\src\win\fclel.res}
>> program Project1;
>>
>> uses
>>   EventLog,
>>   sysutils;
>> type
>>   StringCP1251 = type AnsiString(1251);
>> var
>>   logger:teventlog;
>>   //msg:StringCP1251;
>>   msg:rawbytestring;
>> begin
>> msg:='Іівівйц й вфівфъ2цву йцуцйівів';
>> SetCodePage(msg, 1251, True);
>>
>> Write('DefaultSystemCodePage is ');
>> Writeln(system.DefaultSystemCodePage);
>>
>> logger:=teventlog.create(nil);
>> logger.Identification:='My gressdqwwe';
>> logger.RegisterMessageFile('');
>> logger.logtype:=ltsystem;
>> logger.active:=true;
>>
>> Write('Code page is ');
>> WriteLn(StringCodePage(msg));
>>
>> logger.Info(msg);
>> logger.Destroy;
>>
>> WriteLn('End');
>> end.
>
> What happens if you declare Msg as UnicodeString? How is your source
> file stored (which encoding, BOM if applicable or not)? Which command
> line parameters do you use (e.g. -Fc???)?
>
> Tomas
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


More information about the fpc-pascal mailing list