エンコーディングスキーム/複数のオペレーティングシステムとエンディアンの歴史は、すべての形式の文字列データ(つまり、すべてのアルファベット)のエンコーディングに関して混乱を招きました。このため、プロトコルバッファは文字列タイプでASCIIまたはUTF-8のみを処理し、C++wstringを受け入れる多態的なオーバーロードは表示されません。問題は、UTF-16文字列をプロトコルバッファにどのように取り込むことが期待されるかということです。
おそらく、データをアプリケーションコードにwstringとして保持し、メッセージに詰め込む(またはメッセージから抽出する)前にUTF-8変換を実行する必要があります。これを行うための最も簡単な-Windows/Linuxポータブルな方法は何ですか(十分にサポートされているライブラリからの単一の関数呼び出しは私の一日を作ります)?
データはさまざまなWebサーバー(LinuxおよびWindows)から発信され、最終的にSQL Server(および場合によっては他のエンドポイント)に到達します。
--編集1---
Mark Wilkinsの提案は法案に適合しているようです。おそらく、ライブラリの経験がある人なら、wstringからUTF-8までのコードスニペットを投稿して、それがどれほど簡単になるかを判断できます。
-編集2-
sthの提案はさらにそうです。ブーストシリアル化についてさらに調査します。