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
それ以外に何を意識する必要がありますか?