這篇文章主要講解了“mysql CAPI接口讀取中文亂碼的問(wèn)題如何解決”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql CAPI接口讀取中文亂碼的問(wèn)題如何解決”吧!
最近的yymysqlsdk的開(kāi)源項(xiàng)目里,對(duì)中文的支持不到位,因此用了1.5天的時(shí)間,對(duì)中文處理的各個(gè)情況進(jìn)行了分析。
1.首先確認(rèn)你的mysql配置文件,my.ini (只針對(duì))里的配置,如沒(méi)有則添加
[client]
default-character-set=gbk (是為了,開(kāi)發(fā)客戶端程序時(shí),對(duì)中文的支持;如果此處設(shè)置為utf8,我沒(méi)有驗(yàn)證過(guò),稍后驗(yàn)證,哈哈)
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
2.編碼屬性,選擇utf8,我使用的是naticat 。
3.具體到表,右鍵查詢表信息-》ddl ,有沒(méi)有 看到 一句 “ENGINE=InnoDB DEFAULT CHARSET=latin1;”
對(duì)了,這就是設(shè)計(jì)表的時(shí)候,naticat 默認(rèn)使用的編碼方式,請(qǐng)不要隨影更改此編碼方式,latin1是兼容對(duì)utf8的支持(瞎猜的)
4.然后就是用vc去開(kāi)發(fā)客戶端程序了,在real_connect后,請(qǐng)執(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.此時(shí)輸出的就是utf8編碼的,中文
感謝各位的閱讀,以上就是“mysql CAPI接口讀取中文亂碼的問(wèn)題如何解決”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql CAPI接口讀取中文亂碼的問(wèn)題如何解決這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站欄目:mysqlCAPI接口讀取中文亂碼的問(wèn)題如何解決-創(chuàng)新互聯(lián)
文章位置:http://chinadenli.net/article46/dedjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信公眾號(hào)、自適應(yīng)網(wǎng)站、企業(yè)建站、面包屑導(dǎo)航、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容