[fpc-pascal] FPC 3 regression: cannot use TStringList for UTF-8 data any more?
    Mattias Gaertner 
    nc-gaertnma at netcologne.de
       
    Sat Apr 16 11:02:46 CEST 2016
    
    
  
On Fri, 15 Apr 2016 10:43:55 +0200
Michael Schnell <mschnell at lumino.de> wrote:
>[...]
> Do you suggest that the codepage of the sourcecode is preserved by the 
> compiler when creating the string constant in object code  ?
It depends.
There are two codepages. The real one and the one you tell the
compiler.
If you tell the compiler that the string literal is 8-bit system
codepage, it will copy it without conversion to the binary.
Otherwise it converts it to UTF-16.
For instance using {$codepage utf8} tells the compiler to convert all
your literals to UTF-16.
Without the {$codepage} the compiler preserves the real codepage.
> Seemingly StringCodePage does not work correctly with string constants 
> anyway: I found that setting {$codepage UTF8}, for a constant string I 
> get StringCodePage = 1200 which is UTF16.
StringCodePage on a literal is pretty useless. You should
use StringCodePage on variables.
Mattias
    
    
More information about the fpc-pascal
mailing list