Op Thu, 20 Nov 2008, schreef Graeme Geldenhuys:

On Thu, Nov 20, 2008 at 11:12 AM, Florian Klaempfl
<[EMAIL PROTECTED]> wrote:

Ok, two questions for the example above:
- how do you maintain backward compatibility?
- how do you load a plain old ansi file?


If the file is UTF-8 or ANSI, the above  should work. UTF-8 was
designed to be backward compatible with ANSI. One of the beauties of
UTF-8.

Wrong. It was designed to be compatible with ASCII, but incompatible with ANSI. A CP1250 encoded file won't show correctly in an UTF-8 encoded environment.

That's why you have to convert. In the current FPC, the compiler can infer the right conversion from type information only if the string is ansi encoded or UCS2/UTF16 encoded. It simply hasn't type information to do the other transformations correct. Therefore you have to call a function, there is nothing we can change about that.

But yes, with other encodings it's a problem. And exactly the reason I
think TStrings and the whole FPC for that matter should start
supporting Unicode somehow.  And that's why I urge all core FPC
developers to try and finalize a Unicode design.  Otherwise you leave
it up to developers to keep adding such shitty hacks which could cause
more issues in the long term - instead of solving issues.

Design is almost final. Just give us time to implement.

Daniël
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to