使用std :: string和UTF8似乎是一个相当复杂的问题,我无法找到对do和dt的良好解释。
如何在C ++中正确使用UTF8?这很令人困惑。
我找到了boost::locale
并设置了全局区域设置:
std::locale::global(boost::locale::generator()(""));
然而,在此之后我需要考虑什么,何时才能遇到问题?将文件写入/读取按预期工作,字符串比较等...?
到目前为止,我知道以下内容:
std::regex
/ boost::regex
不起作用,需要覆盖广泛的字符串并使用wregex。boost::algorithm::to_upper
无法使用,需要使用boost::locale::to_upper
除此之外我需要注意什么?
答案 0 :(得分:3)
欢迎来到宏伟的Unicode世界。
wchar_t
是实现定义的,通常在Windows上不足以保存亚洲脚本的完整代码点(例如)