溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql CAPI接口讀取中文亂碼的問題如何解決

發(fā)布時間:2021-08-02 15:19:01 來源:億速云 閱讀:266 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要講解了“mysql CAPI接口讀取中文亂碼的問題如何解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mysql CAPI接口讀取中文亂碼的問題如何解決”吧!

最近的yymysqlsdk的開源項目里,對中文的支持不到位,因此用了1.5天的時間,對中文處理的各個情況進(jìn)行了分析。

1.首先確認(rèn)你的mysql配置文件,my.ini (只針對)里的配置,如沒有則添加

[client]

default-character-set=gbk (是為了,開發(fā)客戶端程序時,對中文的支持;如果此處設(shè)置為utf8,我沒有驗證過,稍后驗證,哈哈)

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

2.編碼屬性,選擇utf8,我使用的是naticat 。

3.具體到表,右鍵查詢表信息-》ddl ,有沒有 看到 一句 “ENGINE=InnoDB DEFAULT CHARSET=latin1;”

對了,這就是設(shè)計表的時候,naticat 默認(rèn)使用的編碼方式,請不要隨影更改此編碼方式,latin1是兼容對utf8的支持(瞎猜的)

4.然后就是用vc去開發(fā)客戶端程序了,在real_connect后,請執(zhí)行 編碼設(shè)置,mysql_query(xxx,“set names latin1”);

5.看代碼吧,

view plain

int rows = mysql_num_rows(res); 

int fields = mysql_num_fields(res); 

for (int i=0;i<rows;i++) 

    MYSQL_ROW row = mysql_fetch_row(res); 

    unsigned long *lengths = mysql_fetch_lengths(res); 

    for (int j=0;j<fields;j++) 

    { 

        printf("%s\n",row[j]); 

6.此時輸出的就是utf8編碼的,中文

感謝各位的閱讀,以上就是“mysql CAPI接口讀取中文亂碼的問題如何解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mysql CAPI接口讀取中文亂碼的問題如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI