| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2197 人关注过本帖
标题:数据库名和表名用了中文,连接不上怎么办?
只看楼主 加入收藏
星系隐
Rank: 2
等 级:论坛游民
威 望:1
帖 子:96
专家分:36
注 册:2018-6-16
收藏
 问题点数:0 回复次数:7 
数据库名和表名用了中文,连接不上怎么办?
#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: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
改成英文
2020-01-20 17:23
星系隐
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
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
建议提高基本能力,这种偏门的东西你现阶段了解感觉有些浪费时间。
2020-01-20 22:53
快速回复:数据库名和表名用了中文,连接不上怎么办?
数据加载中...
 
   



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

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