Hi,
Long time ago, before codepage-aware ANSI strings existed in fpc, all strings in Lazarus were treated as being UTF8 encoded. With the introduction of codepage aware strings (fpc 3.0 and later) the LazUTF8 unit sets DefaultSystemCodePage to CP_UTF8. This ensures "String" in an LCL application will have CP_UTF8 as it's codepage. At the same time we introduced a possibility to build Lazarus (and the LCL etc.) with a define (DisableUTF8RTL) that disabled this "initialization" to CP_UTF8.
When using this define, "String" in an application will have CP_ACP as it's codepage.
IIRC this was done for Lazarus users who used databases that were encode in a Windows codepage.
The Lazarus team is thinking about completely removing this workaround. Of course it may very well be the case that users still depend on building LCL applications with the DisableUTF8RTL define. If that is the case, we would ask you to please report this in this thread.
