#include <boost/locale.hpp>
int _tmain(int argc, _TCHAR* argv[])
{
//std::locale::global(std::locale("utf-8"));
std::locale::global(std::locale("")); // 設置全局的C運行庫locale 可以針對cout fstream等單獨設置 空表示默認使用當前系統字符集
std::string strGbk = "天朝的方式開發刻錄機卡洛斯分123qwerwer繫";
std::wstring wstr = boost::locale::conv::to_utf<wchar_t>(strGbk, "gbk");
std::string strA = boost::locale::conv::from_utf(wstr, "GBK");
std::cout << strGbk.c_str() << std::endl;
std::wcout << wstr.c_str() << std::endl;
std::cout << strA.c_str() << std::endl;
try
{
std::string strBit5;
strBit5 = boost::locale::conv::between(strA, "big5", "gbk");
strA = boost::locale::conv::between(strBit5, "GBK", "BIG5");
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
}
catch (...)
{
std::cout << "..." << std::endl;
}
std::cout << __FUNCTION__ << std::endl;
return 0;
}