PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. . i% [7 V1 Q& ~& m- U4 x8 ]
  2. MySQLConnect::MySQLConnect()
    / u2 H1 o* x+ v8 R2 [/ _) t
  3. {- J- C& U5 ]8 L$ g% N, c0 [

  4. . b/ \: N* h0 Y% k
  5.         if (mysql_library_init(0, nullptr, nullptr))
    4 |; x+ e6 U  E/ g$ ]
  6.         {
    ( b, F  o! A9 o! Y0 T6 [8 U
  7.                 uc1601("CAPI初始化失败", 1);
    7 A7 @) r  t, G* W( h
  8.         }6 G# ?  {8 `: a
  9.         if (mysql_init(&mysql) == nullptr)
    ) ^8 y* {1 `, `
  10.         {: u  H2 d4 m: ~1 Y1 E
  11.                 uc1601("初始化数据库变量失败", 1);* A8 ~9 L& \5 x5 P

  12. 2 X3 B% y; e' k/ C0 S2 i
  13.         }3 `: n* I$ i9 }) W' W  n+ D: O
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))# b$ p+ y$ d  g2 K
  15.         {
    6 l! b  ~, f5 L
  16.                 uc1601("设置连接选项失败", 1);  t9 |6 [( A0 Z! I
  17.         }' h- k7 t- }  R- |) m2 X
  18. }( \# G  G# j6 N2 D) z+ L

  19. 8 n  g6 c7 [0 y
  20. bool MySQLConnect::ConnectDatabase()
    4 Q) T$ c1 q3 O6 K! `
  21. {
    ) f8 v  W4 f9 W9 t% }; v0 M4 O8 R7 W& ?! A
  22.         //初始化mysql
    $ V9 X6 z) F! i) l- }) `! P7 O% Z  K
  23. 1 E) Y$ g4 e) R! K$ t( J
  24.         mysql_init(&mysql);   % K/ U/ G5 a" F5 O

  25. % |1 p+ k- B8 X2 o) x
  26.         //这个非常重要,否则打印出现乱码
    7 ]* a: A" k- R" Z  s
  27.         if (!mysql_set_character_set(&mysql, "gbk"))6 x9 v/ ]6 r) V! P3 v
  28.         {
    4 `' P; I, p3 T6 y3 G
  29.                 char msg[256];
    ! E8 i; e5 _+ K; P0 R* G2 W
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    ; v6 R7 w' B/ s8 _* B
  31.                 uc1601(msg, 0);
    ; _' ~. g4 A) {  u% [9 x7 Q
  32.         }
      c0 ?( i5 @" y
  33.        
    1 U9 s3 ^0 A+ s$ D! c
  34.         //连接mysql,数据库
    4 T- N5 Y# W0 A+ }
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) - \+ W9 i8 x& }# d
  36.         {. ]- K; y. \4 C  t# f
  37.                 char msg[1024];
    4 P1 o4 F" `; ]0 x/ E% t
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));* s: z. M, ?8 P/ `" m: \
  39.                 uc1601(msg, 1);7 M  e0 E; |. H( \6 A* t
  40.                 return false;
    ; x4 U4 K: y8 d7 x- r
  41.         }
    , }5 w+ z) G- b! ]2 w: A6 j2 N4 l
  42.         else% i2 c( Y, a# ?0 ?5 T
  43.         {
    9 Q8 v4 v8 D- X: A( i' D" M
  44.                 uc1601("数据库连接成功", 0);6 c+ }: ]  Q6 v% s
  45.                 return true;$ F8 C4 n2 \, i" h, h7 o
  46.         }
    ! z6 E! j' J2 T
  47.         4 r. z! p" m. c4 X% E6 ]
  48. }5 j! G, v& J4 f
复制代码
* T# U, w- ^, ^! N5 n9 ^% A7 W, B

. X+ W8 p. [$ e, g- w' @/ n" D5 i( P0 W3 d
MySQL 链接数据库的方法,出现乱码,注意设置字符集! o4 |' F( c1 a2 e% ~
11.png - f5 w& I' Q$ f! }7 A' O2 G' N
8 Z' }4 M8 P' ^* A2 Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了