[wine] Re: KERNEL: Implement undocumented SetCPGlobal API call
David Lee Lambert
lamber45 at cse.msu.edu
Mon Apr 4 14:30:18 CDT 2005
On Thu, Mar 31, 2005 at 03:18:27PM +1100, Troy Rollo wrote:
> That assumes every process is OK working with the same code page. This is not
> necessarily the case with a server application, which may well be serving
> clients in multiple regions in a multi-national environment. I know one major
The solution in this case is to use Unicode internally, and then add calls
to WideCharToMultibyte() (NOTE: the first parameter "can be given the
value of any codepage that is installed or available in the system"
(Borland 5.0 helpfile)) or a cross-platform library like iconv(3) to your
I/O pipelines. I would say that using the Windows OEM code pages is not
suggested for new application development.
> It may not even be the case with a client application: you may have a software
> reseller who supports multiple regions and needs to be able to view data in a
> program that does not use Unicode when that data has come from a client in a
> region with a different code page; you may have somebody in a business whose
> native language is not the same as that of the locality they are in who
> prefers to use most applications in their native language, but needs to use
> some with the local code page to get access to business data.
This situation is an even worse case to try hacking the undocumented
Windows internationalization APIs. Remember, for instance, that
Win95/98/ME *only* supports one OEM code page for the whole system, in
the U.S. and Canada, and that for those systems the wide-character APIs
are provided by a redistribuable DLL. If you're writing a text-editor or
other general-purpose tool, you ought to be building in some
character-set detection heuristics, conversion, etc., anyway. If you're
developing you're application's data-file formats from scratch, you ought
to define a format (probably using some form of Unicode for character
data) and stick to it.
Do you think IE or IIS actually uses this particular call?
David Lee Lambert (also as4109 at wayne.edu) cell ph# 586-873-8813
PGP key at http://www.cse.msu.edu/~lamber45/newmail.htm#GPGKey
resume at http://www.cse.msu.edu/~lamber45/resume.htm
More information about the wine-devel