1

コード:

mysqlpp::Query acc_query = connection->query("SELECT * FROM accounts;");

次のコードは以下を生成します。

_Gfirst = 0x00c67718 "SELECT * FROM accounts;ээээ««««««««юоюою"

Visual Studio デバッガーと同様。奇妙な結果でクエリが失敗するようです。

他の誰かがそれに遭遇しましたか?

4

1 に答える 1

1

MySQLでは UTF-8エンコーディングを使用することをお勧めします。コード ページは、Windows 中心の Unicode 以前の概念です。Unicode の代わりにそれらを使用すると、おそらく問題が発生する理由が説明されます。MySQL (ひいては MySQL++) を Windows スタイルのコード ページで動作させることは可能ですが、2010 年にはそれを行うべきではありません。

Unicode を使用している場合、おそらく UTF-16 エンコーディング (Windows の NT 派生版でのネイティブ エンコーディング) であり、これもまた多くのことを説明しています。

すべての文字列データを MySQL に送信する前に UTF-8 形式に変換し、テーブルで UTF-8 エンコーディングを使用するように MySQL を構成します。

于 2010-09-27T18:20:02.493 に答える