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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1.   ^; g- T  b8 h( o1 d1 ~; x  |
  2. MySQLConnect::MySQLConnect()
    " o/ L2 V$ n& e1 ]4 w0 p
  3. {! x7 J6 _( D$ p8 [8 u' n* p9 n

  4. & J4 n& V* h- p$ ~4 p
  5.         if (mysql_library_init(0, nullptr, nullptr))
    " \: M0 h$ t. z7 |
  6.         {7 n* k* G8 f% U0 V( x% d
  7.                 uc1601("CAPI初始化失败", 1);2 X6 w8 R3 k, K) z) |( I% L
  8.         }
    6 c2 a: T' K/ Q! Q0 [: ~  s
  9.         if (mysql_init(&mysql) == nullptr)4 g8 H$ k- ]( ^2 L0 N
  10.         {
    ; R9 F2 k+ I! ]; }* f
  11.                 uc1601("初始化数据库变量失败", 1);" d4 h0 K- [; z. D4 D
  12. 1 Q; d( U- P+ w) y$ N% `4 S( f
  13.         }8 V( h+ \+ z2 n1 N$ d1 e; ^
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk")); a( e" C, i; z% @. a2 k( K
  15.         {6 c4 n& {5 B2 S" P% H
  16.                 uc1601("设置连接选项失败", 1);: K5 N6 K8 C* g) s# @+ D
  17.         }
    % j& [- Y' K! k, J) E0 q
  18. }
    4 s( t  T" K- N( A: y
  19. 3 ]2 S6 O4 r( C/ S" ^4 v
  20. bool MySQLConnect::ConnectDatabase()/ ?0 n- m5 C+ C6 r4 N' m$ i5 E& e
  21. {
    % }, @% N- _+ _* y5 r& e
  22.         //初始化mysql. G& r$ A/ M, @* _& Z/ A/ h

  23. + l8 i9 S" R, u1 l5 E) L
  24.         mysql_init(&mysql);   * {, c9 n  o+ s' m9 a& D, X

  25. ' @, c4 v3 L/ H, a; A1 o
  26.         //这个非常重要,否则打印出现乱码
    4 h. V  k8 r0 O# Z5 x$ U5 m9 w
  27.         if (!mysql_set_character_set(&mysql, "gbk"))6 m) `( ?/ m% O* Y- R
  28.         {8 H& _8 U3 F9 K7 u
  29.                 char msg[256];
    8 u, [/ r# ]) S
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));9 q" r2 H7 h( F
  31.                 uc1601(msg, 0);5 P- @+ x; a3 F) q; B
  32.         }, m1 W$ a4 W9 b$ r
  33.         + \/ S4 p7 C; q8 S( F5 I
  34.         //连接mysql,数据库
    * e! [: L* `4 q1 B
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) 6 @" l6 s& V# f- e8 {: m
  36.         {
    2 g( B$ D3 I4 f7 |# j
  37.                 char msg[1024];1 H* ?- N3 ?: d0 o0 v0 ^: @5 }
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    5 m7 P4 H/ D, T& d- j
  39.                 uc1601(msg, 1);
    1 G, X* k2 w) U
  40.                 return false;
    / B6 j3 `1 a1 Y1 g) b
  41.         }( q- V- ~  O' }' k% z' v, }
  42.         else
    % a( L8 B9 W" B
  43.         {
    7 X& W+ A, b9 ~7 t1 @! l
  44.                 uc1601("数据库连接成功", 0);
    7 ]" k- z  t0 u* y, f$ a# q
  45.                 return true;& @, g) [/ a5 p; f; a" h
  46.         }  O! o6 Z, m; D: h7 i7 m+ B
  47.         2 z& _1 B& j4 \( s
  48. }
    0 T2 E8 n! F* i0 u: {3 r
复制代码

" W, F0 B/ @; ?( V& K
, ]+ E4 q3 u9 X% Y) n& y' N# A) U1 X* _/ e# @4 n  V
MySQL 链接数据库的方法,出现乱码,注意设置字符集% n. @% z. |$ e
11.png + x: L- i% P; F3 y2 @" F. W$ H/ E

  |5 n3 d1 [5 A9 Z- V
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了