MySQL提供的接口函数prototype为:

void        STDCALL mysql_get_character_set_info(MYSQL *mysql,

MY_CHARSET_INFO *charset);

其中 MY_CHARSET_INFO 结构体定义如下:

typedef struct character_set

{

unsigned int number; /* character set number */

unsigned int state; /* character set state */

const char *csname; /* collation name */

const char *name; /* character set name */

const char *comment; /* comment */

const char *dir; /* character set directory */

unsigned int mbminlen; /* min. length for multibyte strings */

unsigned int mbmaxlen; /* max. length for multibyte strings */

} MY_CHARSET_INFO;

调用上述函数并打印结果:

MY_CHARSET_INFO charset;

mysql_get_character_set_info(mysql, &charset);

printf("character set number:%d\n", charset.number);

printf("character set state:%d\n", charset.state);

printf("collation name:%s\n", charset.csname);

printf("character set name:%s\n", charset.name);

printf("comment:%s\n", charset.comment);

printf("character set directory:%s\n", charset.dir);

printf("min. length for multibyte strings:%d\n", charset.mbminlen);

printf("max. length for multibyte strings:%d\n", charset.mbmaxlen);

结果如下:

可以看出当前数据库使用的字符集为latin1。现在还不知道为什么插入汉字会提示出错,虽然客户端、连接、数据库三个方面使用的字符集都是latin1,按理说latin1使用了字节的所有8位空间,不管什么字节流过来都不会报错。

2、如何修改当前连接使用的字符集

MySQL提供的接口函数prototype为:

int          STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);

成功返回0,失败返回非0。

在网上查资料有人说使用"utf8",我试了一下,发现还是不行。使用“GBK”可以:

if (!mysql_set_character_set(mysql, "GBK"))

{

printf("New connection character set: %s\n",

mysql_character_set_name(mysql));

}

c mysql 设置字符集_C语言如何查看和修改MySQL使用的字符集相关推荐

  1. c 连接mysql数据库查询_C语言实现访问及查询MySQL数据库的方法

    本文实例讲述了C语言实现访问及查询MySQL数据库的方法.分享给大家供大家参考,具体如下: 1.添加头文件路径(MySQL安装路径中的include路径) 2.添加库文件(直接从MySQL安装路径中c ...

  2. 怎么看mysql的最大连接数_怎么查看和修改 MySQL 的最大连接数?

    MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看 mysql> show variables like '%connections'; 此命令将得到类似以下的输 ...

  3. oracle客户端查看字符集,oracle 中文乱码---查看和修改客户端字符集

    客户端NLS_LANG的设置方法 Windows: # 常用中文字符集set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK # 常用unicode字符集 set ...

  4. 查看mysql端口 windows_Windows运维之windows下如何查看和修改MySQL的端口号

    本文主要向大家介绍了Windows运维之windows下如何查看和修改MySQL的端口号,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助. 以win7系统,MySQL版本5.5.5 ...

  5. 查看和修改MySQL数据库参数

    查看和修改MySQL数据库参数 MySQL依赖大量的参数来控制SQL的处理执行过程.mysql.cnf文件是mysql默认的参数配置文件,mysql启动时会优先在一些特定位置寻找并读取该文件.my.c ...

  6. 查看并修改mysql的默认引擎

    1.mysql存储引擎: a)mysql服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及mysql的索引管理.通过定义的API,mysql服务器能够 ...

  7. mysql 设置中文 重启_如何启动/停止/重启MySQL + 进入MYSQL-Go语言中文社区

    Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...

  8. mysql 查询默认编码_查看及修改MYSQL默认编码

    MySQL的默认是Latin1,不支持中文,要支持中文需要把数据库的默认修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式 (以root用户身份登陆的命令为:>s ...

  9. 查看或修改mysql数据库及表编码格式

    1.查看数据库编码格式 mysql> show variables like 'character_set_database'; 2.查看数据表的编码格式 mysql> show crea ...

最新文章

  1. B/S软件超越C/S软件的优势在哪里?
  2. php判断字符串是否为IP,php 判断IP为有效IP地址的方法
  3. 计算机组成原理数据冒险的解决nop,计算机组成原理实验讲义(103页)-原创力文档...
  4. 鸟哥的Linux私房菜(基础篇)- 第十一章、认识与学习 BASH
  5. vant 下拉框样式_使用 Vue 的 Vant.js List 列表组件实现无限下拉
  6. 取消 AndroidStudio 启动时自动打开上次关闭的项目
  7. MockWebServer[45678] connection from null failed: java.net.SocketException
  8. 苹果公布App审查新机制 禁止发布疫情相关娱乐程序和游戏
  9. 详解Android动画之Tween Animation
  10. java mac 怎么删_做java服务器开发,并发布到linux,那MacBookPro开发是绝佳工具
  11. 690 - Pipeline Scheduling (DFS + 状态压缩 + 剪枝)
  12. 制作chrome插件教程
  13. 小小串联电阻,大大的作用
  14. steam服务器102修复,分享steam错误代码102的解决方法
  15. 高效办公之高效文件管理极速检索:只需1秒找到所需文件
  16. 识别车牌是什么神经网络,bp神经网络车牌识别
  17. 需求分析师如何提高核心竞争力
  18. 贪吃机器人DIY(二)
  19. 白光干涉仪在微透镜阵列微观三维形貌测量中的作用
  20. 深入探究linux_深入探究GraphQL查询

热门文章

  1. codeforces div3 D Circular Dance (链式向前星)
  2. 1.2.4 计算机的工作过程(从源程序到可执行文件、指令执行过程的描述)
  3. XSS 注入漏洞处理
  4. WIFI-MESH + 蓝牙MESH在智能家居领域有着广泛的应用场景,他们的区别到底在哪里呢
  5. java进程内存一直没释放_面试官:一个线程OOM,进程里其他线程还能运行么?...
  6. ESD二极管,替代国际品牌型号汇总
  7. Linux中的ftp命令怎么写,linux下使用ftp命令
  8. 雷达波形样式_案例分析 | 基于XSIM的雷达电子对抗仿真
  9. fastjson反序列化漏洞研究(下)
  10. button theme