std::string と UTF8 を扱うのはかなり複雑な問題のように思えますが、すべきこととすべきでないことの適切な説明が見つかりません。
C++ で UTF8 を適切に処理するにはどうすればよいですか? それはかなり混乱しています。
私は見つけboost::localeて、グローバルロケールを設定しました:
std::locale::global(boost::locale::generator()(""));
しかし、この後何を考えればいいのか、いつ問題が発生するのでしょうか?ファイルからの書き込み/読み取り、文字列比較などは期待どおりに機能しますか?
これまでのところ、次のことを認識しています。
std::regex/boost::regex動作しません。幅の広い文字列に変換して wregex を使用する必要があります。boost::algorithm::to_upper動作しません、使用する必要がありますboost::locale::to_upper
それ以外に何を意識する必要がありますか?