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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x

  1. $ `& k; d  ^/ Q5 X! o9 ?
  2. MySQLConnect::MySQLConnect()
    + o! L1 F1 C. r0 @4 T- k% R; E
  3. {( \: e( v! a. z7 `# }. ?

  4. + k" P9 O' h' C$ r, L# C3 M
  5.         if (mysql_library_init(0, nullptr, nullptr))
    ; `2 [* F$ g1 f/ _/ K2 P: a
  6.         {0 K: z7 G# S3 ^, R
  7.                 uc1601("CAPI初始化失败", 1);. o3 M* z+ z9 ^" o5 F: j, d+ p
  8.         }' E! x! d* _$ F- z
  9.         if (mysql_init(&mysql) == nullptr)% f. d7 [# A% i1 J+ B
  10.         {
    3 l5 P, k) G5 {  }- m9 W& @2 c3 L. H" o
  11.                 uc1601("初始化数据库变量失败", 1);  l* u/ x5 D$ X% \* C3 B

  12. ( E& v8 \. I9 W
  13.         }& }, \) m4 L7 m8 }% M
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))3 x; r7 u7 K2 @7 ^
  15.         {4 d6 m- u* J' G9 o% B8 I: i
  16.                 uc1601("设置连接选项失败", 1);
      N8 W8 D: _0 B0 w) @2 s3 s/ e0 f
  17.         }
    + o6 y: B6 Z3 k$ r( P
  18. }
    6 X) l' K% M5 }) _! f
  19. , M; y& B3 A$ j+ L* C9 T
  20. bool MySQLConnect::ConnectDatabase()  I  N% }/ D5 P
  21. {
      E) V/ k6 e4 b  f  w
  22.         //初始化mysql! X9 j0 P" d5 E, V* O2 O: q

  23. $ Q% G8 h; C0 n, t1 m
  24.         mysql_init(&mysql);   , \3 g, m% O& l7 q

  25. + I) d$ B/ |+ N+ k
  26.         //这个非常重要,否则打印出现乱码6 y' h0 E; i6 x6 P
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    & \% u' h7 K% q" `% i
  28.         {
    2 Q% ]4 g3 b+ \7 U! Y2 O
  29.                 char msg[256];
    3 u" T8 ~7 L/ D* l
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    6 ~, u  C+ k7 _- L, Y- k. {" ?2 K
  31.                 uc1601(msg, 0);; N6 }$ y4 S2 U4 Q; d9 z
  32.         }3 g, B* U% V3 j! g$ }2 t' N
  33.         : J$ n  p& z1 O) Y
  34.         //连接mysql,数据库% G6 K2 I9 O7 }( ^" |: f
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) 7 t3 g$ ~  Z8 s) ]* |* U
  36.         {7 l0 @; }! @: Y( e6 `
  37.                 char msg[1024];) m/ s6 M: H8 j1 l# c
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    . Z9 }" j7 U! i1 [% N# u+ f0 F
  39.                 uc1601(msg, 1);
    - x5 Q/ B* Q2 S6 l+ A+ u: ?
  40.                 return false;+ j- _7 T4 W3 I1 S) S/ K$ a. l! E9 F
  41.         }8 }2 R7 _) l9 [1 {# a
  42.         else; q& X" b" s# \! p0 p$ E1 ^
  43.         {4 W! O2 {5 j1 J# L9 I7 `
  44.                 uc1601("数据库连接成功", 0);' d' p0 S( w; m. S
  45.                 return true;
    6 Z: A* N4 T& _1 S& w( R3 \
  46.         }. s, u& ]1 i. m3 r8 _4 F+ {: r5 P' Y
  47.         % Y4 r" [& E/ q2 L# M
  48. }
    2 Z. M2 O8 }, o8 [0 V+ R. p; c
复制代码

3 |5 o; }" |8 @( {/ G- ]1 a3 R; E  [, F. J; W. I

6 D. e. C! N( M6 W7 PMySQL 链接数据库的方法,出现乱码,注意设置字符集' R+ p: n6 c! ^  u
11.png   l: M, A2 U- J* Z, L( g
6 u4 h) h9 X/ |& w4 ?6 x2 R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了