简短的答案是不,这是不可能的。
**另外,我想问一下,你想要解决的问题是什么?虽然鼓励使用Unicode](http://msdn.microsoft.com/en-us/library/dd374081%28v=vs.85%29.aspx),但你可能永远无法确定你的应用程序是否都支持Unicode。
你可以做的****是改变每个应用程序的默认字符编码。
这是不可能的,主要是因为Windows不允许UTF-8作为系统的ANSI码,尽管它有一个UTF-8的ANSI码,codepage 65001。这似乎有几个原因:
WriteFile()
API在代码页65001下返回一个不正确的结果,这个结果会在所有依赖它的库代码中冒出一个不正确的结果,例如write()
。当年,我直接给他发了几篇关于这些问题的邮件。