zoukankan      html  css  js  c++  java
  • C/C++ 操作mysql字符集设置

    Linux下,当我们用mysql c api 去操作mysqldb的时候,默认情况下,程序会以Latin1这种字符集去进行sql操作,这种情况,很可能就会出现乱码,

    比如,数据库设置的字符集是utf8, 然后我们通过程序向其中插入一条记录,然后我们去查询的时候,就会出现乱码。

    为了解决这个问题,我们可以调用 int mysql_set_character_set(MYSQL *mysql, const char *csname) 这个函数,去对每一个到mysql的连接设置对应字符集,就可以解决乱码问题。例如下代码:

    MYSQL mysql;
    
    mysql_init(&mysql);
    if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
    {
        fprintf(stderr, "Failed to connect to database: Error: %s\n",
              mysql_error(&mysql));
    }
    
    if (!mysql_set_character_set(&mysql, "utf8"))
    {
        printf("New client character set: %s\n",
               mysql_character_set_name(&mysql));
    }
    

      有时候,当我们直接在mysql客户端去进行sql操作的时候,为了解决乱码问题,一般在执行一条sql语句之前,都会执行:set names ***,

    这个函数mysql_set_character_set() 跟set names *** 这条语句的作用是一样的。

  • 相关阅读:
    Python+Selenium三种等待方法
    Jmeter结果分析_聚合报告
    Linux安装Python3
    翻译Go Blog: 常量
    Go: 复合数据类型slice
    Python创建二维列表的正确姿势
    了解Flask
    urllib3中学到的LRU算法
    了解Prometheus
    《redis 5设计与源码分析》:第二章 简单动态字符串
  • 原文地址:https://www.cnblogs.com/yuxingfirst/p/2939518.html
Copyright © 2011-2022 走看看