mysql中文坑爹的東西

來源:互聯網
上載者:User

標籤:

1.首先pb需要utf8格式,所以由ansi轉換成utf8格式才能傳輸

2.在接收端,需要將utf8轉換成ansi才能用

3.在插入資料庫之前需要將sql從ansi轉換成utf8格式

4.資料庫設定字元集為utf8 ASSERT( 0 == Query(&m_con, "SET NAMES utf8", strlen("SET NAMES utf8")));

 

db_user_mail* pMail = offline->mutable_user_mail();                ASSERT(pMail->has_content());//系統郵件肯定需要content                char* pContent = UTF8ToANSI(pMail->content().c_str());                char sql[1024 * 10] = {0};                sprintf_s(sql, sizeof(sql), "INSERT INTO `user_sys_mail` SET  `content` = ‘%s‘, `type` = %d, `send_time` = from_unixtime(%u), `valid_time` = %u;SELECT  LAST_INSERT_ID();",                    pContent,  pMail->type(), pMail->send_time(), offline->valid_time());                                free(pContent);                char* pSql = ANSIToUTF8(sql);                int code = CDBMgr::Query(con, pSql, strlen(pSql));                free(pSql);                if (0 != code)   //非0查詢失敗                  {                    printf("query failed! [%s] [%d] [%s] \n", sql, mysql_errno(con), mysql_error(con));                    return -1;                }

插入中文的格式,當時這個問題給我帶來了巨大的困擾,嗎的都是坑。。

mysql中文坑爹的東西

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.