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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. 8 H3 t) m5 n* F, o) }' H* Z, ]
  2. MySQLConnect::MySQLConnect()5 A1 U2 W4 V4 A6 N+ j* ^: ^
  3. {2 O" N0 _5 q$ t

  4. 0 A3 F: J  _. @- r
  5.         if (mysql_library_init(0, nullptr, nullptr))
    9 a1 ?! e. @( ?  `# U
  6.         {, V9 @; g$ ^( Z+ e) I  b# K6 z8 `
  7.                 uc1601("CAPI初始化失败", 1);: I$ G* @0 e% l7 b% S
  8.         }
    ' G' Y  u% g1 w: w
  9.         if (mysql_init(&mysql) == nullptr)) H4 C" A. q7 y+ G: k) ?' X1 C
  10.         {! n% U" }7 |/ W/ W% l+ a+ l) K$ a$ \
  11.                 uc1601("初始化数据库变量失败", 1);0 O8 \( p7 K7 ^: n$ S* p# ?7 x

  12. + e3 X2 D/ B0 d6 Q& H& N, s- Y
  13.         }
    3 P+ l' @8 P# u" L& K5 c
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))1 B) `& Z, g9 Q7 G$ ~- K) U* F
  15.         {
    ( }; F0 S. S1 q3 K9 P, H
  16.                 uc1601("设置连接选项失败", 1);7 t8 B* L$ o  H4 N( c+ K4 Y
  17.         }1 Z& O  @9 l% O8 z& |, y1 z8 [; o
  18. }' H! y3 L- E, D+ W

  19. 9 d) G2 [' d6 |7 q: X
  20. bool MySQLConnect::ConnectDatabase()
    : Y! X& k, a7 M
  21. {
    0 @5 U+ ]5 Z  S: ?* S9 Y
  22.         //初始化mysql
    ( d# e+ {: }0 a8 u
  23. ! W( q- I* a  t) q( }: {8 |+ M
  24.         mysql_init(&mysql);   * R& `& g$ ]6 Z7 [8 K4 q

  25. 9 u, `$ D% E6 \: Z) {: @2 q2 f
  26.         //这个非常重要,否则打印出现乱码
    + Z) H; m4 \" L7 N
  27.         if (!mysql_set_character_set(&mysql, "gbk"))/ A1 q2 ]1 {2 _' J  T6 U+ ?
  28.         {
    / X, v1 w( X8 w8 S( q
  29.                 char msg[256];
    # C: e' v1 Y8 E% w
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    : ]2 `. Y1 t5 A$ k8 F; ^2 k6 W
  31.                 uc1601(msg, 0);
    ! e$ ^" v9 b! \9 R- C
  32.         }; L2 T' ~5 _9 N5 H1 ]2 x
  33.         7 [2 Q% ^, c8 X: A( |1 L5 ^
  34.         //连接mysql,数据库0 N# U. [7 _( L! |
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    4 `3 z/ V% L& \  J6 p0 z9 H
  36.         {1 t; h3 q& j* E  I/ x
  37.                 char msg[1024];
    2 z5 K5 i+ h# ~
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    1 ?, J; V2 k4 R$ T
  39.                 uc1601(msg, 1);! ~0 D7 o: ^6 Z! L! t
  40.                 return false;' ~2 i/ I5 A& R- R& s# y
  41.         }* I5 E( C& v+ D9 i; e9 j% }
  42.         else& N: ~* h# _8 X% g
  43.         {
    ) I, y* c$ p% B" f  ~" g' O3 O6 Q
  44.                 uc1601("数据库连接成功", 0);0 L$ |3 L# R( Z) T, }1 E4 L
  45.                 return true;
    0 h7 g* q" u& J% o  |  r- p. u
  46.         }, {1 }; ^) h+ ]. \: d
  47.         + j: E$ L+ F, c  Q
  48. }; i0 |) p# m3 t8 i
复制代码

0 S+ B% j* v$ q3 F$ R
2 j4 P7 F% R8 {7 x5 p$ X( b3 O' v2 x) c+ Q3 }+ W% M# `' [% X
MySQL 链接数据库的方法,出现乱码,注意设置字符集
/ N6 V: u5 I% ?- A* [0 _ 11.png * V4 X# }7 z( P# ]& A' {
8 l% F3 B- t0 E) _# k9 m7 H9 e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了