【发布时间】:2011-09-17 10:34:41
【问题描述】:
目前它默认为我的系统区域设置,在我的例子中是 932(日文 Shift-JIS),但我希望它默认为 65001(UTF-8)。
我可以通过在代码中的某处插入 SetConsoleOutputCP 行然后将其删除来更改给定程序的默认值,但是为每个程序都这样做很烦人。
有什么建议吗?
【问题讨论】:
-
嗯,你不应该。控制台模式应用程序的输出可以重定向。无论程序读取输出,都会对 utf-8 编码一无所知。如果控制台应用程序的 8 位代码页要求开始成为问题,那么您需要开始考虑编写原生 Windows 程序。
-
Windows 控制台不适用于 utf-8。甚至 SetConsoleOutputCP 也无济于事。
标签: c++ visual-studio-2010 utf-8 codepages