
On Mon, 4 Apr 2011 13:30:08 +0100, you wrote:
Windows APIs use UTF-16...
The newer ones, at least. The older ones usually come in two flavors, UTF-16LE and 8-bit code page-based.
...but the encoding of files (which is the relevant point here) is almost uniformly UTF-8 - though of course you can find legacy apps making other choices.
If you're talking about files written and read by the operating system itself, then perhaps. But my experience is that there are a lot of applications that use UTF-16LE, especially ones that typically only work with smaller files (configuration files, etc.). As for Haskell, I would still vote for UTF-8 only, though. The only reason to favor anything else is legacy compatibility with existing Haskell source files, and that isn't really an issue here. -Steve Schafer