判断系统支持汉字否、mysql支持汉字否

原创 2006年06月15日 10:36:00

create database test;
use test;
create table hanzi (id int(11),name varchar(20));

 

hanzi.c

 #include   <fcntl.h>
 #include <ldap.h>
 #include <iconv.h>
 #include   <sys/types.h>
 #include   <sys/stat.h>
 #include   <stdlib.h>
 #include   <time.h>
 #include   <stdio.h>
 #include   <string.h>
 #include  <sys/socket.h>
 #include  <netinet/in.h>
 #include  <stdarg.h>

 #ifdef   _WIN32
 #include  "c:/mysql/include/mysql.h"
 #else
 #include   <mysql/mysql.h>
 #include   <signal.h>
 #include   <pthread.h>
 #endif
 
#define OUTLEN 256

void mysql_exec(MYSQL  *ldap_billingd,char *sql)
 {
   if ((mysql_query(ldap_billingd,"begin"))<0)
   {
           printf("ldap_billingd: %s",mysql_error(ldap_billingd));
           mysql_query(ldap_billingd,"rollback");
         }
         if ((mysql_query(ldap_billingd,sql))<0)
   {
           printf("ldap_billingd: %s",mysql_error(ldap_billingd));
           mysql_query(ldap_billingd,"rollback");
         }
    mysql_query(ldap_billingd,"commit");
 }
 
int main(int argc,char **argv)
{

 
 FILE* fd=NULL;   
 char line[OUTLEN];
 char lineold[OUTLEN];
 int rc=0;
 char out[OUTLEN];
 MYSQL  *ldap_billingd=NULL;
 char *dbhost_billing="127.0.0.1";
 char *dbuser_billing="root";
 char *dbpassword_billing="";
 int dbport_billing=3306;
 char   sql[1024];
 int id=0;
 
 if (argc!=2)
 {
  printf("usage is :execfilename hanzifilename/n");
  exit(0);
 }

  if ((ldap_billingd= mysql_init(NULL))==NULL)
    {

      printf("ldap_billingd: %s",mysql_error(ldap_billingd));  
    }
  log("mysql_init is finished! /n");  
    if (mysql_real_connect(ldap_billingd,dbhost_billing,dbuser_billing,dbpassword_billing,"test",dbport_billing,NULL,0) <0)
    {
      printf("-----------------ldap_billingd: %s----------------",mysql_error(ldap_billingd));
  }
  printf("mysql_real_connect is finished! /n");

 fd=fopen(argv[1],"r");   
 if (fd==NULL)  
 {     
  printf("mysql real init_init();  fd==NULL   had finished!configfile=%s !/n",argv[1]);  
  exit(1);   
 } 
 id=0;
 while (!feof(fd))  
 {         
  memset(line,0,256);    
  //------读一行字符,该行的字符数不大于num-1------    
  fgets(line,256,fd);


  memset(sql,0,1024);
  sprintf(sql,"insert into hanzi  /
  values('%d','%s') /
  ",id,line);

  mysql_exec(ldap_billingd, sql);
  id++;
 }
}


hanzi.txt
张三
李四
王五


gcc -ggdb3 -I/usr/local/mysql/include/ -L/usr/lib/mysql -lmysqlclient -o hanzi hanzifile.c
./hanzi hanzi.txt

 

 

相关文章推荐

[C#] 汉字转拼音,支持多音字

支持dotnet core的汉字转拼音,而且支持多音字。
  • wwwsq
  • wwwsq
  • 2015年06月04日 18:02
  • 20568

汉字转拼音c/c++源码,支持gb2312和utf8

最近在写一个拼音转换程序,将汉字转化成拼音。网上很多转化程序只支持gb2312编码,却不支持utf8.于是根据网上的源码整合成了一个既支持gb2312编码、又支持utf8编码的拼音转换程序。他们都支持...

Java 汉字转拼音(完美支持解决多音字)

上一篇文章Java 汉字转拼音
  • FX_SKY
  • FX_SKY
  • 2014年09月28日 15:07
  • 9009

AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字,Filterable的使用)

AutoCompleteTextView具有输入提示的功能,但是它的这种提示不适合对股票列表的过滤,如果你玩过股票软件,就会知道只要输入股票名称的首字母或股票代码就会出现符合匹配的股票,这种过滤怎么实...

OpenCV2实现在图像中写入汉字,支持单通道、3通道图像

通过以往文献的阅读,中文等字符可以借助OpenCV在图像中写入。但是往往都停留在OpenCV 1.0版本的调用上。本文在前人的基础上,修改完善了CvxText.h、CvxText.cpp两个文件,支持...

AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)2

上一篇中的代码最好需要优化,特别对字库文件需要优化。股票成千上万个,如何做到快速匹配是很值得研究的。 写了一个转换函数,将类似4E48 (me5,ma5,yao1)的文本转换成4E48 (m,y...

Utf-8、gb2312都支持的汉字截取函数

/** * Utf-8、gb2312都支持的汉字截取函数 * @param string $string 需要截取的文字 * @param number $sublen 截取长度 * @par...

Node监听鼠标键盘事件,定时发消息小程序,解决robotjs不支持输入汉字问题!

Nodejs定时发消息小程序,解决robotjs不支持输入汉字问题+node监听鼠标键盘事件!吹啊!吹啊!我骄傲的放纵··· 写了一上午长篇大论,中午出去吃个饭回了都没了,桑心,蛋疼,心烦, 说了多少...

FtpFindFirstFile()及InternetFindNextFile()对汉字编码的支持问题

首先说明情况。 ftp服务器是同事写的,运行在linux下,字符采用utf-8编码。 我写客户端,在windows下,自己的开发电脑是win74 64位简体中文版,ide采用vs2010,工程为o...
  • jszj
  • jszj
  • 2016年10月28日 18:10
  • 655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断系统支持汉字否、mysql支持汉字否
举报原因:
原因补充:

(最多只允许输入30个字)