コード:
mysqlpp::Query acc_query = connection->query("SELECT * FROM accounts;");
次のコードは以下を生成します。
_Gfirst = 0x00c67718 "SELECT * FROM accounts;ээээ««««««««юоюою"
Visual Studio デバッガーと同様。奇妙な結果でクエリが失敗するようです。
他の誰かがそれに遭遇しましたか?
MySQLでは UTF-8エンコーディングを使用することをお勧めします。コード ページは、Windows 中心の Unicode 以前の概念です。Unicode の代わりにそれらを使用すると、おそらく問題が発生する理由が説明されます。MySQL (ひいては MySQL++) を Windows スタイルのコード ページで動作させることは可能ですが、2010 年にはそれを行うべきではありません。
Unicode を使用している場合は、おそらく UTF-16 エンコーディング (Windows の NT 派生版でのネイティブ エンコーディング) であり、これもまた多くのことを説明しています。
すべての文字列データを MySQL に送信する前に UTF-8 形式に変換し、テーブルで UTF-8 エンコーディングを使用するように MySQL を構成します。