<div dir="ltr"><div><div><div>Hello,<br><br></div>A summary of what i learned from the Unicode String debate:<br><br>1 - FPC 3 introduces code page aware strings<br><br>2 - FPC 3 updates the RTL to provide a better support for code page aware strings<br><br>3 - The dynamic behavior of the string type regarding to the platform was not introduced by FPC 3. In the previous versions of FPC, the string type depends on the platform too.<br><br>4 - However, there is a key difference among FPC 3 and the previous versions: in the FPC 3, the compiler do perform automatic conversions in certain circumstances (two ansistring variables with diferent codepages). I think these automatic conversions can potentially be the source of unexpected data corruption.<br><br>5 - The automatic conversion is a desirable feature. IMHO, the definitive solution would be to stop the unpredictable dynamic behavior of the String type following the same path that Delphi followed: addopt the same unicode string code page on all platforms. <br><br></div>6 - A workaround when developing a cross-platform app is to use the <a href="http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus">Lazarus Unicode Support</a>;<br><br></div><br>Best regards<br></div>