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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. & @. K9 ~/ \4 x. r4 L4 t& Y% e
  2. MySQLConnect::MySQLConnect()
    ! G: U1 g* \  Y1 y0 B, q9 }- p7 i
  3. {
    & h3 H; p! @2 c9 V2 k9 K/ X9 Y
  4. 6 a% T& F! q8 ~8 \, g
  5.         if (mysql_library_init(0, nullptr, nullptr))
    : d+ u' ^- c5 Q- |, E% J8 y
  6.         {
    1 P, P: }  c$ b
  7.                 uc1601("CAPI初始化失败", 1);* c2 u$ u- o4 Q
  8.         }
    ) X( o9 |- Y, [/ x& q. j
  9.         if (mysql_init(&mysql) == nullptr)$ ?+ L9 z. F' h/ k& `+ _
  10.         {
    % a5 o5 I; g: i: ^" w! ~
  11.                 uc1601("初始化数据库变量失败", 1);
    ; e3 H1 A( F7 k

  12. + l0 V$ y% Y  r% F- I! t
  13.         }6 @; P: u9 s' j2 v
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    " c. B' B! K/ k# ?) ^. Z
  15.         {
    " Y/ p! Q& t+ _& J  ]
  16.                 uc1601("设置连接选项失败", 1);
    5 Y( \6 w% r1 Y' h) N4 ]; T- S
  17.         }
    % p( T3 ~& x0 j9 d) m7 P
  18. }& W" F, x, B# f9 C
  19. " n1 `0 A4 v7 q) d" \
  20. bool MySQLConnect::ConnectDatabase()
    . T4 X9 m1 @* `3 h7 A$ }$ r
  21. {0 L: G, J! n! o' x& ^$ R! G) m
  22.         //初始化mysql
    4 B2 Z7 r: g# Q. F. m( r: g

  23.   E8 ]. ^# l8 E1 k- L& E
  24.         mysql_init(&mysql);   & }' ]& ]- E1 c5 _

  25. 4 i( m6 M* G* g) j& F
  26.         //这个非常重要,否则打印出现乱码
    ) h, W; @+ u+ f0 `
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    , Q5 R- |& m$ k6 y- m+ A
  28.         {% x4 }" v. J  v$ q
  29.                 char msg[256];
    * `% T7 L; I6 R/ `  Z! q  h2 [3 P
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
      U/ D7 S; a4 U9 L$ d/ ^' a0 Q
  31.                 uc1601(msg, 0);+ \6 P6 F7 ^# E/ B+ p
  32.         }
    8 n3 T9 M: V1 I$ e$ @8 W* n  g, h
  33.         8 l, L: L2 Q, U9 d
  34.         //连接mysql,数据库
    - N6 U- W5 M" @7 s
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    ( s7 `& w4 R" U, a
  36.         {
    $ a& }. V$ }3 D/ a
  37.                 char msg[1024];
    1 t$ C, s& _$ V; Q  {' a
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));$ a" A; V3 ^% U. W+ ^
  39.                 uc1601(msg, 1);
    6 y3 C% N5 H/ R# A8 U" ]( T
  40.                 return false;
    * K. n( C. b) F9 L( r+ i
  41.         }, n1 K% f' p$ d  Y! N. K
  42.         else; `$ ^+ Y, W2 p4 }3 i
  43.         {
    # p5 b+ s1 f, y  O8 {8 d& B. f0 i
  44.                 uc1601("数据库连接成功", 0);; {" d0 |. l- F6 Y8 i5 R6 b+ _; x
  45.                 return true;
    4 w4 @+ |  ?: N$ e  a# C. k- [/ K
  46.         }- w) L( h' x5 t* A; e3 g  d+ w
  47.        
    : Z; c5 M5 o6 q6 Q& n
  48. }3 @+ X* `$ O% c- z7 q1 }7 i
复制代码

  ?! V. a' `. J# p: y% V: d+ G! X, R# B3 c* Y# z. f' I/ w

  r0 |: l; W4 @3 V. @MySQL 链接数据库的方法,出现乱码,注意设置字符集' Y) _: H. w) }$ X2 V6 f
11.png
( v3 S0 F' R& O5 e' Y# {: _; I
3 Z+ S+ u( ~6 O( Q* y3 I/ P. i
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了