[fpc-pascal] FPC 3: disabling automatic AnsiString codepage conversion

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Apr 4 11:49:48 CEST 2016


tobiasgiesen wrote on Mon, 04 Apr 2016:

>> Your question was not about Lazarus but maybe you should read this:
>>   http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus
>
> Very interesting, but apparently there is some wrong info.
>
> It says "On Linux and Mac OS X UTF-8 is typically the system  
> codepage, so the RTL uses
> here by default CP_UTF8."
>
> Not on my Mac. DefaultSystemCodePage is 20127 before I set it to 65001.

That's because you don't use the cwstring unit nor another widestring  
manager. In that case, the DefaultSystemCodePage is set to ASCII  
because the default string conversion routines on Unix platforms do  
not support anything else (neither for converting from  
ansi/shortstring to wide/unicodestring, nor between ansistrings using  
different codepages). This is not new with FPC 3.0, it has always been  
like that.


Jonas



More information about the fpc-pascal mailing list