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

Reply via email to