, sample.log 被解析为utf8。 现在我想在windows.936上写,但下面的代码是没用的。
void init_logging() {
...
std::string strCodePage = boost::locale::util::get_system_locale();//strCodePage is "zh_CN.windows-936"
std::locale loc = boost::locale::generator().generate(strCodePage);
sink->imbue(loc);
...
}
void test_wide_char_logging() {
...
const wchar_t national_chars[] = L"汉字";
BOOST_LOG(lg) << national_chars;
...
}
例如,sample.log中的"汉字"
为0xe6b189 0xe5ad97
,它被解析为utf8.But我希望sample.log中的"汉字"
应为0xbaba 0xd7d6
},解析为windows-936(与GBK,GB2312相同)。
你能帮帮我吗?