2010-09-25 92 views
1

代碼:代碼頁相關的問題與MySQL ++

mysqlpp ::查詢acc_query =連接 - >查詢( 「SELECT * FROM賬戶;」);

下面的代碼產生:

_Gfirst = 0x00c67718「SELECT * FROM帳戶;ээээ««««««««юоюою」

如在Visual Studio調試器。它似乎導致我的查詢失敗,結果奇怪。

有沒有其他人遇到過它?

回答

1

這是用MySQL編碼的best to use UTF-8。代碼頁是一個以Windows爲中心的pre-Unicode概念。你使用它們而不是Unicode可能解釋了你爲什麼遇到問題。雖然有可能使MySQL —,因此MySQL的++ —與Windows風格的代碼頁的工作,你不應該這樣做,2010年

如果你使用Unicode中,它可能是UTF-16編碼(Windows的NT衍生產品中的本地編碼),這再次解釋了很多。

將所有字符串數據轉換爲UTF-8格式,然後將其發送到MySQL,並將MySQL配置爲在其表中使用UTF-8編碼。