[fpc-pascal] String literals and code page of .pas source file
LacaK
lacak at zoznam.sk
Wed Sep 9 13:51:36 CEST 2020
>
> > This is a bit counter intuitive to me.
>
> It is explained here:
> https://wiki.freepascal.org/Unicode_Support_in_Lazarus
>
IMO "c4" case (c4: String1250 = 'áéíóčž';) is not fully explained.
Probably what here happens is, that declared code page of c4 = source
file code page and in that case compiler does not insert conversion
code. StringCodePage(c4)=1250 (also StringCodePage(c2)=1250) so dynamic
code page is right, but when assigning to TLabel.Caption current dynamic
code page is not taken into account
> For LacaK I recommend using UTF-8 encoding as much as possible. Then
> everything "/just works/".
yes I use this, but I have "one" specific case where I want share one
file between Delphi7 and Lazarus
> You could have a unit or .inc file with WinCP constants for Delphi7,
> and then some IFDEFs. They should be explicitly converted to UTF-8 for
> LCL.
> UnicodeString constants can also be a good solution. It triggers an
> automatic conversion when assigned to a String variable. The
> conversion is usually fast enough.
Yes this is what I use (WideString constants) and it is only solution
which works for me in Delphi7/Lazarus
Thanks
L.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20200909/71a97ec2/attachment.htm>
More information about the fpc-pascal
mailing list