标题:数据库名和表名用了中文,连接不上怎么办?
取消只看楼主
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
 问题点数:0 回复次数:5 
数据库名和表名用了中文,连接不上怎么办?
#include <winsock.h>  //最好放在首位,位置关系会导致错误,mysql.h
#include "D:/新建文件夹/wamp/bin/mysql/mysql5.7.19/include/mysql.h"
#pragma comment (lib, "libmysql.lib")
#include <stdio.h>
#include <string.h>
#include <windows.h>


main(){

   
MYSQL * con; //= mysql_init((MYSQL*) 0);
MYSQL_RES *res;
MYSQL_ROW row;
char tmp[400];
//database configuartion
char dbuser[30]="root";
char dbpasswd[30]="";
char dbip[30]="127.0.0.1";
char dbname[50]="数据库0";
char tablename[50]="表0";
char *query=NULL;
int x;
int y;
int rt;//return value
unsigned int t;
int count = 0;

con = mysql_init((MYSQL*) 0);
if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306
/*TCP IP端口*/,NULL/*Unix Socket 连接类型*/,0/*运行成ODBC数据库标志*/) )
{
  if (!mysql_select_db(con,dbname))
  {
    printf("Select successfully the database!\n");
     
    con ->reconnect = 1;
     query = "set names \'GBK\'";
    //mysql_query(con,"set names \'GBK\'");
      rt=mysql_real_query(con,query,strlen(query));
    if (rt)
    {
      printf("Error making query: %s !!!\n",mysql_error(con));
    }
    else
    {
      printf("query %s succeed!\n",query);
    }
     
  }
}
  else
{
  MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL);
  
}




}
运行时连接不上..改英文就行,我想问问怎么用连接上中文的?我觉得可能是字符编码问题?
搜索更多相关主题的帖子: 连接 con include char query 
2020-01-20 16:10
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
但是我在数据库设置utf8以后程序可以显示英文名数据库英文名表里的汉字
2020-01-20 16:33
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
这是连接中文数据库中文表时出现的错误,怎么搞?
2020-01-20 16:37
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
回复 4楼 八画小子
我改了英文放cgi-bin里变500错误了,改了apache的conf配置,怎么办
2020-01-20 18:08
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
#include <winsock.h>  //最好放在首位,位置关系会导致错误,mysql.h
#include "D:/新建文件夹/wamp/bin/mysql/mysql5.7.19/include/mysql.h"
#pragma comment (lib, "libmysql.lib")
#include <stdio.h>
#include <string.h>
#include <windows.h>


main(){

   
MYSQL * con; //= mysql_init((MYSQL*) 0);
MYSQL_RES *res;
MYSQL_ROW row;
char tmp[400];
//database configuartion
char dbuser[30]="root";
char dbpasswd[30]="";
char dbip[30]="127.0.0.1";
char dbname[50]="e1";
char tablename[50]="e2";
char *query=NULL;
int x;
int y;
int rt;//return value
unsigned int t;
int count = 0;
printf("Content-type:text/html\n\n");
con = mysql_init((MYSQL*) 0);
if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306
/*TCP IP端口*/,NULL/*Unix Socket 连接类型*/,0/*运行成ODBC数据库标志*/) )
{
  if (!mysql_select_db(con,dbname))
  {
    printf("Select successfully the database!\n");
     
    con ->reconnect = 1;
     query = "set names \'GBK\'";
    //mysql_query(con,"set names \'GBK\'");
      rt=mysql_real_query(con,query,strlen(query));
    if (rt)
    {
      printf("Error making query: %s !!!\n",mysql_error(con));
    }
    else
    {
      printf("query %s succeed!\n",query);
    }
     
  }
}
  else
{
  MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL);
  
}




}
浏览器打开显示 500,心碎了
2020-01-20 18:10
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
得分:0 
ok成了,可是我真没想到这么麻烦,天
2020-01-20 18:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498990-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.980427 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved