使用std::string和UTF8似乎是一个相当复杂的问题,我和我无法很好地解释do's和dont's。
如何正确地使用UTF8在C++中工作?这是相当混乱的。
我找到了boost::locale并设置了全局区域设置:
std::locale::global(boost::locale::generator()(""));
然而,在这之后,我需要考虑什么,什么时候我会有问题呢?从文件中写入/读取是否会像预期的那样工作,字符串比较等等?
到目前为止,我知道以下几点:
std::regex/boost::regex将无法工作,需要使用宽字符串和花圈。boost::algorithm::to_upper不能工作,需要使用boost::locale::to_upper除此之外,我还需要知道什么?
发布于 2012-06-10 10:42:23
欢迎来到神奇的Unicode世界。
wchar_t是已定义的实现,通常在Windows上不足以保存亚洲脚本的完整代码点(例如)。https://stackoverflow.com/questions/10967878
复制相似问题