mysql CAPI 接口 读取中文乱码的解决方案(转)
最近的yymysqlsdk的开源项目里,对中文的支持不到位,因此用了1.5天的时间,对中文处理的各个情况进行了分析。
1.首先确认你的MySQL配置文件,my.ini (只针对windows)里的配置,如没有则添加
[client]
default-character-set=gbk (是为了,开发客户端程序时,对中文的支持;如果此处设置为utf8,我没有验证过,稍后验证,哈哈)
default-character-set=utf8
[mysqld]
default-character-set=utf8
2.数据库编码属性,选择utf8,我使用的是naticat mysql。
3.具体到表,右键查询表信息-》ddl ,有没有
看到
一句 "ENGINE=InnoDB DEFAULT CHARSET=latin1;"
对了,这就是设计表的时候,naticat 默认使用的编码方式,请不要随影更改此编码方式,latin1是兼容对utf8的支持(瞎猜的)
4.然后就是用vc去开发客户端程序了,在real_connect后,请执行
编码设置,mysql_query(xxx,"set names latin1");
5.看代码吧,
- 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编码的,中文
以上就是我的总结,如对您有帮助,我不胜荣幸。
原文:http://blog.csdn.net/yynetsdk/article/details/6923940
mysql CAPI 接口 读取中文乱码的解决方案(转)的更多相关文章
- mysql插入表数据中文乱码问题解决方案
一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' ...
- [转]mysql导入导出数据中文乱码解决方法小结
本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...
- File.ReadAllText 读取中文乱码问题
原文:File.ReadAllText 读取中文乱码问题 用 File.ReadAllText(filepath) 去读取中文txt文件会遇到乱码问题,我自己测试了一下,ANSI编码的txt才会出 ...
- Mysql 导入导出csv 中文乱码
这篇文章介绍了Mysql 导入导出csv 中文乱码问题的解决方法,有需要的朋友可以参考一下 导入csv: load data infile '/test.csv' into table table ...
- mysql中Incorrect string value乱码问题解决方案
mysql中Incorrect string value乱码问题解决方案 你是否遇到过类似以下错误? java.sql.SQLException: Incorrect string value: ...
- Delphi+MySQL:TADOQuery使用插入中文乱码解决方法
Delphi+MySQL:TADOQuery使用插入中文乱码解决方法 with adoquery dobeginclose;sql.clear;sql.text:=' insert into test ...
- InputStream 读取中文乱码 扩展
对于InputStream读取中文乱码,下面这段话给出了很好的解释,以及后续编码上的扩展. BufferedInputStream和BufferedOutputStream是过滤流,需要使用已存在的节 ...
- mysql 恢复数据时中文乱码
mysql恢复数据时中文乱码,解决办法. 用source命令导入mysql数据库怎么设置中文编码 1.导出数据时指定编码在导出mysql sql执行文件的时候,指定一下编码格式: mysqldump ...
- MySQL修改配置文件 避免中文乱码
MySQL修改配置文件 避免中文乱码 MySQL安装后默认的服务器字符集是拉丁文,也就是说默认 character_set_server = latin1 ,这是造成 MySQL 中文乱码的主要原因之 ...
随机推荐
- STM32F2x Is it possible to request multiple DMA streams with single request
I want to setup an application, where a single trigger-factor (compare-match of a timer) shall reque ...
- C#中POST数据和接收的几种方式
POST方式提交数据,一种众所周知的方式: html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[" ...
- SOC 与 ARM
SOC是指片上系统,意思是一个芯片就构成一个包括了存储.CPU.甚至还有AD.UART等等其他资源的系统!而ARM只是CPU的一种,有的片上系统是51.nios.PIC.等等不一而是!特别是nios, ...
- 向OSG视图Viewer发送消息
句柄是以下面的方式传递给osgViewer::Viewer的,osgViewer::View.getCamera().setGraphicsContext(osg::GraphicsContext); ...
- Android应用开发相关下载资源(2015/08/27更新)
Android应用开发相关下载资源 官方终于发布了Android Studio正式版,Android Studio将会成为推荐使用的主要Android开发工具. (1)Android SDK ...
- lufylegend:图形变形3
面来看看drawtriangles函数的扩展.利用drawtriangles函数来实现一个旋转的3D地球,效果如下 因为lufylegend1.5.0版的drawtriangles函数有个bug,所以 ...
- javascript:currentStyle和getComputedStyle的兼容写法
currentStyle:获取计算后的样式,也叫当前样式.最终样式. 优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到. 注意:不能获取复合样式如bac ...
- 分布式系统:CAP
一致不太理解CAP,最近好像有点感觉了,这里写下来,先介绍下CAP的定义: C:一致性.写完数据后,立马能看到最新数据. A:可用性.所有请求必须有响应. P:分区容错性.网络或服务器故障不会导致系统 ...
- jQuery Ajax 上传文件夹及文件
我们先来看一下文件夹结构 这是上传处理的: 看一下系统日志: 升级 HTML5文件实现拖拽上传提示效果改进(支持三种状态提示) 拖拽过程详解: 1:文件未拖出文件选择框的时候提示:将要上传的文件或文件 ...
- Swift - CALayer的contents属性动画
Swift - CALayer的contents属性动画 效果 源码 https://github.com/YouXianMing/Swift-Animations // // LiveImageVi ...