
On 01/05/2011 20:44, Artyom wrote:
But the bigger question is what exactly do you want to do with BOM and how it would help you to make the "cross-platform" software?
The goal is to allow all compilers to recognize that the source is encoded in UTF-8. This is what you need to write cross-platform source that contains non-ASCII characters.
the only real Unicode strings with MSVC would be L"" and they are actually would be encoded with UTF-16 encoding while all non-Windows world uses UTF-32 as wide character encodings.
How is that a problem at all? And using narrow string literals with UTF-8 content masquerading as ANSI is a hack, sorry. That's not the C++-endorsed solution.
So basically I can say that untill Microsoft Visual Studio team would take UTF-8 seriously and either support 65001 codepage as expected or provide GCC's like options for input and exec encodings I don't see how this BOM would be useful.
I don't really care about what the execution character set is. I definitely do not want to change it, it should be the user locale.