locale::facet::_S_create_c_locale name not valid

## 概述 Linux系统下,C++编译的库程序运行时,突然报错: ``` terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::_S_create_c_locale name not valid ``` ## 原因 该错误是因为程序中使用了GBK字段(或其他系统不支持的字符集数据)导致的。 ![](http://www.icode9.com/i/li/?n=4&i=images/blog/202106/09/a6859d0453ef3bdb431b077bfe6a1383.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ## 解决方法 使用locale -a命令查看当前系统支持的字符集,选择一个系统支持的字符集即可。 ![](http://www.icode9.com/i/li/?n=4&i=images/blog/202106/09/6739ac8af145166fe1714e8154013c71.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
上一篇:Vue国际化四 -- 本地缓存


下一篇:面试不易,控场情况下,感觉少要了1万!