On 10/10/2011 22:36, Jonas Maebe wrote:
On 10 Oct 2011, at 23:11, Martin wrote:
On 10/10/2011 21:56, Jonas Maebe wrote:
2- It should have (dont know if currently has) a compiler switch to change the
default code page to UTF8 or whatever, so all variables with type String will
map to UTF8String.
I doubt that such a feature will be added. If you want that, declare your own
string type with whatever default code page you want to use and use that type
everywhere.
But that will always just push the issue to another location.
Changing the default code page of the "string" type in a particular unit via a
compiler switch would not change that (a program usually also uses units that have been
compiled earlier on, and those may then have used a different default code page).
I wasn't askin for changing the default.
just for how to do
procedure foo(x: utf8string); begin end;
var a: string; //ansistring, but contains already utf8
foo(a); // do not convert
And what happens if an app did read data from some external source (serial
port) and then wants to declare what encoding it is?
http://docwiki.embarcadero.com/VCL/en/System.SetCodePage
I hadn't seen that.
That may help. Though not the best solution...
I can call it before calling the "foo" proc. But I must revert it
afterwards, or at sometime later, the string will be translated, when it
will be used in a normal string again (yet expected to keep being utf8..
Yes, I know, what i want to do, is not what it was designed for.
ultimately a huge update to the entire source will be needed... but now
I need a temporary solution until then
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel