c语言接受mysql中文,C语言连接MySQL中文问题

C语言连接MySQL中文问题

在学习<Linux程序设计>第8章MySQL数据库8.3节:

使用C语言访问MySQL访问数据库时尝试把SQL数据换成了中文,但是在运行示例程序时终端输出却乱码,MySQL C 语言连接默认字符集是latin1

查了下API找到如下函数可解决中文乱码问题。

int

mysql_set_character_set(

MYSQL *

mysql,

char

*

csname)

描述

该函数用于为当前连接设置默认的字符集。字符串csname指定了1个有效的字符集名称。连接校对成为字符集的默认校对。该函数的工作方式与SET NAMES语句类似,但它还能设置mysql-

>

charset的值,从而影响了由mysql_real_escape_string(

)

设置的字符集。

该函数是在MySQL 5.

0.

7中增加的。

返回值

0表示成功,非0值表示出现错误。

示例:

#

include

<

stdlib.

h>

#

include

<

stdio.

h>

#

include

"mysql.h"

MYSQL my_connection;

MYSQL_RES *

res_ptr;

MYSQL_ROW sqlrow;

void

display_row(

)

;

int

main(

int

argc,

char

*

argv[

]

)

{

int

res;

mysql_init(

&

my_connection)

;

if

(

mysql_real_connect(

&

my_connection,

"localhost"

,

"rick"

,

"secret"

,

"foo"

,

0,

NULL

,

0)

)

{

/* 设置数据库默认字符集 */

if

(

mysql_set_character_set(

&

my_connection,

"utf8"

)

)

{

fprintf

(

stderr

,

"错误, %s\n"

,

mysql_error(

&

my_connection)

)

;

}

res =

mysql_query(

&

my_connection,

"SELECT childno, fname, age from children WHERE age > 5"

)

;

if

(

res)

{

&nb

相关文档:

#include

#include

#define u 20

int i,j,n,m;

float Ix[u],I[u][u],H_X,H_Y,H_XY,I_XY,H_XpY,Pypx[u][u],Px[u],H_YpX,Py[u],Pxpy[u][u],Pxy[u][u];

/*定义的Ix[]=I(x[i])自信息;I[][]=I(x[i];y[j])互信息;H_X=H(X)平均自信息;H_XY=H(XY)联合熵;

I_XY=I(X;Y)平均互信息;H_XpY=H(X|Y ......

1、编辑MySQL配置文件:

windows环境中:%MySQL_installdir%\my.ini //一般在MySQL安装目录下有my.ini即MySQL的配置文件。

linux环境中:/etc/my.cnf

在[MySQLd]配置段添加如下一行:

skip-grant-tables

保存退出编辑。

2、然后重启MySQL服务

windows环境中:

net stop MySQL

net start MySQL

linux环境中:

/e ......

作者:敖士伟

Mysql 用的是Linux (non RPM packages)

一、将mysql-5.5.0-m2-linux-i686-glibc23.tar.gz下载到/home/ikmb 并在当前目录解压;

……..

mysql-5.5.0-m2-linux-i686-glibc23/data/mysql/

mysql-5.5.0-m2-linux-i686-glibc23/data/test/

…………

二、创建MySQL组, ......

这段时间在学习C#,要连接mysql数据库,不知道怎么连接 ,后来goole了下,发现要下载驱动,顺便看了下连接的example code

代码和java里面的差很多,之前一直在学C++ 也学过一段时间的驱动开发,一听mysql驱动,也没在意, 驱动在心里一直都是很难

并且容易造成蓝屏,数据结构复杂的代名词,也就没在意,但是后来� ......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值