[Lazarus] TStrings, Windows and Unicode

Marcos Douglas md at delfire.net
Wed Oct 24 15:35:48 CEST 2012

On Wed, Oct 24, 2012 at 10:58 AM, Hans-Peter Diettrich
<DrDiettrich1 at aol.com> wrote:
> J├╝rgen Hestermann schrieb:
>> Am 2012-10-24 08:58, schrieb Howard Page-Clark:
>>  > Internally the LCL uses only UTF8 encoding,
>>  > so stringlists etc. all expect strings in that
>>  > encoding and process them correctly when supplied
>>  > (as here) with a string from the IDE Editor which
>>  > is also UTF8. However the streaming code in SaveToFile
>>  > eventually calls some Windows system routine which
>>  > does not handle UTF8 and so requires conversion
>>  > from the UTF8 filename to be correctly handled.
>> That's one of the most important drawbacks of Lazarus:
>> The handling of strings is not consistent in all cases.
>> There is the theory of having UTF8 but in practice you have to
>> watch out because in *some* situations the UTF8 paradigma
>> is *not* valid and you have to convert strings yourself.
> This will change with the new Unicode and Ansi strings, which have a defined
> Encoding.
> Once the Encoding comes, I'd vote for an dedicated TFileName string type,
> that matches the platform conventions. This type will allow to handle
> filenames in the platform specific part of the RTL easily, without too many
> string conversions.


Marcos Douglas

More information about the Lazarus mailing list