On 09/20/2011 01:09 PM, cobines wrote:
String=AnsiString(CP_UTF8),
Meaning that a library function (or an FPC syntax candy feature) can't detect the code that is used for the string.
If you mean UTF-16 UnicodeString then I don't think there will be a
problem.
AFAIK, Lazarus does not use UTF-16 (other than in the Windows API)
If your program or library uses UTF-16 and Lazarus uses UTF-8
the conversion routines will be inserted automatically by the compiler
where needed.
If the application programmer uses any 8 bit coding (such as ANSI or UTF-8), as said, the type does not denote the coding, thus there can't be an automatic conversion.

AFAIK, automatic correct UTF-8 to UTF-16 conversion is not done by the compiler when assigning an "String" to a "WideString". The string type the compiler sees (after evaluation the type alias) is ANSIString, so maybe it does an ANSI to UTF-16 conversion.

-Michael

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to