char *を受け取るtinyxml関数を呼び出すとき、どのユニコード形式を渡す必要がありますか?
TiXmlText *element_text = new TiXmlText(string);
その理由は、私がwxStringオブジェクトを使用していて、それに与えることができるさまざまなエンコーディングがたくさんあるためです。string.c_str()を実行すると、wxstringオブジェクトは現在のロケールのエンコーディングを照会し、その形式でchar*文字列を作成します。または、string.utf8_str()を実行すると、utf-8文字列が渡されますが、tinyxmlはutf-8が既にエンコードされていることを認識せず、utf-8文字列をutf-8として再エンコードするようです(はい、結果はダブルutf-8エンコーディング)。したがって、書き出すときに、メモ帳++をutf-8を表示するように設定すると、次のようになります。
bağlamの代わりにbaÄŸlam。
自分でutf_8(string.utf8_str())にエンコードし、tinyxmlに触れさせずに書き出すようにしたいと思います。
どうすればよいですか?tinyxmlは関数パラメーター(上記のコードのコンストラクター)でどのような形式が渡されると予想しますか?テストからの答えはutf-8ではありませんが、それが理にかなっている場合は、最終的にutf-8として書き出されます。