我的项目是多字节的,要记录的数据包含Δ
字符
当我登录时,我像这样使用它,
Logger::getLogger(log_name)->info(szBuf);
void info(const std::wstring& msg) const;
但显示Δ
字符?
如何正确输出?
其原因与您当前所在语言环境中的 log4cxx 如何解码字符有关。?
是替换字符,表示无法在当前区域设置中解码给定字符。
您可以通过在应用程序启动时执行以下操作来修复它:
std::setlocale( LC_ALL, "" ); /* Set locale for C functions */
std::locale::global(std::locale("")); /* set locale for C++ functions */
来源: https://logging.apache.org/log4cxx/latest_stable/faq.html#unicode_supported