From: "Daniël Mantione" <[EMAIL PROTECTED]>
Op Mon, 16 Jul 2007, schreef Yury Sidorov:
> The code page (locale) is set in Control Panel for whole user
> session (or
> whole system).
> It is not possible to set utf8 as locale.
I know. How do you set it to a specific locale for the current
application?
widestring to ansistring conversion is performed using
WideCharToMultiByte. Currently it is done using ANSI code page
specified in Control Panel.
There is no per application code page setting in Windows.
> We can create flag in System unit which control how
> widestring<->ansistring
> should be performed to enable utf8 on Windows.
No, you cannot (at least not with full functionality), since
uppercasing
and compare operations on UTF-8 ansistrings you need a Unicode
library,
which Windows does only provide in UTF-16 flavour.
WideCharToMultiByte can convert from widestring to utf8 if
corresponding flag is specified. This flag is available in Windows
98/Me, Windows NT 4.0 and later.
MultiByteToWideChar do reverse conversion.
This functions already used in System unit for Windows.
Yury.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel