devC++5.11,连接mysql,查询里面的表信息,输出的中文是乱码
```c
#include<stdio.h> //流函数库
#include<stdlib.h> //标准库
#include<string.h> //字符串库
#include<winsock2.h> //连接模式库
#pragma comment(lib,"libmysql");//驱动环境
#include<mysql.h> //数据库操作函数环境
#define HOST "localhost" //数据库服务名
#define USERNAME "root" //用户名
#define PASSWORD "123456" //密码
#define DATABASE "test0" //连接目标数据库
int main() {
MYSQL mysql; //声明数据库变量
mysql_init(&mysql); //初始化数据库连接
MYSQL_RES *result=NULL;
MYSQL_FIELD *field;
MYSQL_ROW row;
int i,num;
if(mysql_real_connect(&mysql,HOST,USERNAME,PASSWORD,DATABASE,0,NULL,CLIENT_FOUND_ROWS)) {//数据库连接函数
//连接成功
printf("连接成功!\n");
//插入数据
// mysql_query(&mysql,"insert into test(name,money) values('lgl888',100000)");
// mysql_query(&mysql,"commit");//作用: 有时数据还在缓存中, 为了确保完成, 可以用commit提交一下事物。一般是不需要做的
//查询数据
i=mysql_query(&mysql,"select * from users"); //返回值为0则表示查询成功
if(!i) {
result=mysql_store_result(&mysql);
if(result) {
//获取字段数量和名称
printf("---------------获取字段数量和名称---------------\n");
num=mysql_num_fields(result);
printf("字段共有%d个!\n",num);
while(field=mysql_fetch_field(result)) {
printf("字段名: %s\n",field->name);
}
//获取查询结果
printf("------------------获取查询结果------------------\n");
while(row=mysql_fetch_row(result)) {
printf("查询结果:\tid=%s name=%s salt=%s password=%s info_id=%s\n",row[0],row[1],row[2],row[3],row[4]);
}
}
} else {
printf("查询失败!\n");
}
} else {
//连接失败
printf("连接失败!\n");
}
return 0;
}
```