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

Abuy abbuyy at zoho.com
Thu Sep 16 23:26:27 CEST 2021


No change.

On 16.09.2021 13:28, Tomas Hajny via fpc-pascal wrote:
> On 2021-09-15 16:09, Abuy via fpc-pascal wrote:
>> UnicodeString change only look of symbols (instead of quastion marks
>> this — Іівівйц ГђВ№
>> вфівфъ2цву
>> йцуцйівів). No BOM. File is UTF-8. No
>> command line parameters.
>
> If your source file is in UTF-8, you need to let the compiler know about
> this. You can do so by using the compiler option -Fcutf8 (or by using
> the BOM, but the explicit option is the safest).
>
> Tomas
>
>
>>
>> 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