PLM之家PLMHome-国产软件践行者

[资料分享] MySQL 链接数据库的方法,出现乱码,注意设置字符集

[复制链接]

2023-3-6 11:42:58 1471 0

admin 发表于 2023-3-6 11:42:58 |阅读模式

admin 楼主

2023-3-6 11:42:58

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
  1. $ G1 H3 t2 N: n4 h/ ~
  2. MySQLConnect::MySQLConnect()' A- W6 |0 P* i
  3. {) i6 P/ S; w! J# P

  4. & o2 f5 }. u; w" }+ A% W
  5.         if (mysql_library_init(0, nullptr, nullptr))
    ( _! b- G, e8 _0 ~1 d
  6.         {5 x7 P: x/ Q4 H8 s
  7.                 uc1601("CAPI初始化失败", 1);0 u2 Y0 v$ i! o9 m
  8.         }% o- c# E0 {2 N( H0 w! ?
  9.         if (mysql_init(&mysql) == nullptr)* s6 l; P1 H2 `; u# s
  10.         {
    4 X) Y3 F2 h/ _' i- p: e6 x
  11.                 uc1601("初始化数据库变量失败", 1);
    5 X1 j2 z+ {: t/ u2 o$ h

  12. - ?1 U" ^" b6 l. g) [
  13.         }
    : }1 Y7 \7 A* M- [4 k4 N7 g
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    4 u* b1 _3 \2 c8 w3 b
  15.         {# k7 h- U4 |( E  l8 z7 F4 F
  16.                 uc1601("设置连接选项失败", 1);
    + A, U& _4 w) L, F% q
  17.         }& G5 v: Y* R& o; c
  18. }4 n5 q' I8 l+ I2 n2 O& I

  19. 4 ~3 n7 p* v" k) c$ C* [0 X3 b
  20. bool MySQLConnect::ConnectDatabase()# f0 A/ D+ C! B+ E2 ?
  21. {8 y4 h4 ^; P: K5 y
  22.         //初始化mysql# M0 Q) u# A1 [) Q1 D
  23. 5 d/ H3 [, f& s! i3 y6 _1 Z* W1 Q$ p
  24.         mysql_init(&mysql);   % o" I# c( Z" ?2 P3 s$ y

  25. # f9 Z0 ]) b* Z
  26.         //这个非常重要,否则打印出现乱码. U  C% ^9 J* }; A4 A8 l
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    2 h% j0 C  M% [0 q, _
  28.         {
      _& @; f4 L3 |5 H
  29.                 char msg[256];
    $ I% E4 [$ k8 x; V/ L4 D
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));. L9 b& L$ d* e5 T
  31.                 uc1601(msg, 0);2 j$ ]7 e' k0 U9 n
  32.         }- O: @* s7 d/ I7 @9 K
  33.        
    ' ^( @. U& n) H, G: G
  34.         //连接mysql,数据库3 z% ]5 {+ t! I3 r' r3 k
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) # V. D3 Z  n& A* W3 y. C& R6 c" }
  36.         {8 J3 o! W! X8 z! O
  37.                 char msg[1024];9 a% V9 z5 y* B7 M' `
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));% B' f& A! ]: F0 D2 y7 S
  39.                 uc1601(msg, 1);
    : `7 ^; Q8 k. g
  40.                 return false;
      p# l. A2 O) p; N  q+ j* |
  41.         }4 b/ [  }( j) X+ k3 S
  42.         else1 E6 g% w. |: a/ v
  43.         {. I% `' C, t, a; O0 r
  44.                 uc1601("数据库连接成功", 0);
    ( p* j+ S3 l" V9 Q
  45.                 return true;
      D, o2 M, V( l5 N) m
  46.         }
    ! p) P8 d" I% ]8 `8 ~& {
  47.        
    & R8 O. l+ E- B3 u$ _, q! a
  48. }
    1 j1 ]* X7 U  K3 ^" [
复制代码
4 r, g  }  h4 O- O& }

' I0 ^* |% r6 x. X, m2 B1 e3 e' K$ j" {  K* W' w; L+ K
MySQL 链接数据库的方法,出现乱码,注意设置字符集
1 V5 x1 @4 u* n+ J* \7 f7 E 11.png 1 v9 W2 @+ K6 D- u  {
3 `5 }& O- S" I$ D  }
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了