我正在尝试学习不同的语言环境和处理 unicode,我选择将所有字符串设为 UTF-8,我决定运行以下代码,但由于某种原因它会引发错误,我无法弄清楚为什么......我尝试了每个语言环境到目前为止,除了“C”之外没有其他作品。我尝试了这里找到的语言环境列表:http: //gcc.gnu.org/onlinedocs/libstdc++/manual/localization.html
和他们的例子:
#include <iostream>
#include <string>
int main()
{
std::locale::global(std::locale("en_US.UTF-8"));
return 0;
}
结果是:
在抛出 'std::runtime_error'
what() 的实例后调用终止:locale::facet::_S_create_c_locale name not valid
我究竟做错了什么?
我在 Windows 8 上使用 Mingw-Builds gcc/g++ 4.8.1 和最新的代码块。语言设置为 EN_US,有时我切换到 EN_GB。