温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql CAPI接口读取中文乱码的问题如何解决

发布时间:2021-08-02 15:19:01 来源:亿速云 阅读:270 作者:chen 栏目:数据库

这篇文章主要讲解了“mysql CAPI接口读取中文乱码的问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql CAPI接口读取中文乱码的问题如何解决”吧!

最近的yymysqlsdk的开源项目里,对中文的支持不到位,因此用了1.5天的时间,对中文处理的各个情况进行了分析。

1.首先确认你的mysql配置文件,my.ini (只针对)里的配置,如没有则添加

[client]

default-character-set=gbk (是为了,开发客户端程序时,对中文的支持;如果此处设置为utf8,我没有验证过,稍后验证,哈哈)

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

2.编码属性,选择utf8,我使用的是naticat 。

3.具体到表,右键查询表信息-》ddl ,有没有 看到 一句 “ENGINE=InnoDB DEFAULT CHARSET=latin1;”

对了,这就是设计表的时候,naticat 默认使用的编码方式,请不要随影更改此编码方式,latin1是兼容对utf8的支持(瞎猜的)

4.然后就是用vc去开发客户端程序了,在real_connect后,请执行 编码设置,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接口读取中文乱码的问题如何解决”的内容了,经过本文的学习后,相信大家对mysql CAPI接口读取中文乱码的问题如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI