<div dir="ltr">2016-05-11 11:44 GMT-03:00 Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org" target="_blank">michael@freepascal.org</a>></span>:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class=""><br>
<br>
On Wed, 11 May 2016, Mazo Winst wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello,<br>
<br>
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<br>
strings<br>
<br>
3 - The dynamic behavior of the string type regarding to the platform was<br>
not introduced by FPC 3. In the previous versions of FPC, the string type<br>
depends on the platform too.<br>
</blockquote>
<br></span>
The string type does not depend on the platform.<br>
<br>
The only thing that depends on the platform is the default encoding used in an AnsiString.<br>
<br></blockquote><div><br></div><div>When i said "dynamic String type behavior" i mean "dynamic definition of the String encoding". <br></div><div> <br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">
5 - The automatic conversion is a desirable feature. IMHO, the definitive<br>
solution would be to stop the unpredictable dynamic behavior of the String<br>
type following the same path that Delphi followed: addopt the same unicode<br>
string code page on all platforms.<br>
<br>
6 - A workaround when developing a cross-platform app is to use the Lazarus<br>
Unicode Support<br></span>
<<a href="http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus" rel="noreferrer" target="_blank">http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus</a>>;<br>
</blockquote>
<br>
Huh ? What kind of statement is this ?<br>
What do you think Lazarus uses under the hood ? Last I looked, it was FPC :-)<br>
<br>
It seems to me that most people simply do not understand fully what is<br>
happening, and as a result, a lot of misunderstandings are abound.<br>
<br></blockquote><div><br></div></div>The Lazarus support for Unicode provide some units which allows us to adopt the same encoding on all platforms (UTF-8). When i say "allow us to adopt the same encoding on all platforms" i mean "they take care of many issues that arises when we adopt the UTF-8 on all platforms. I suppose that adopt UTF-8 on Windows is not as simple as set the system code page <span id="result_box" class="" lang="en"><span class="">through </span></span>SetMultiByteConversionCodePage. <span id="result_box" class="" lang="en"><span>I</span> <span>suppose there are</span> <span>several side effects</span></span> when we do that. In this regard, the Lazarus unicode support helps a lot."<br><br></div><div class="gmail_extra">Best regards<br></div></div>