查看: 1988|回复: 0

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

[复制链接]

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 2023-3-6 11:42:58 | 显示全部楼层 |阅读模式

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

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

×

  1. & V, H+ Z  v7 G  M( b
  2. MySQLConnect::MySQLConnect()8 m: v1 n; C7 n  k+ s
  3. {/ d8 m9 k4 _' C/ ~. R, k, d
  4. 7 n. Q% g9 m+ j' Q( B
  5.         if (mysql_library_init(0, nullptr, nullptr))+ n- K9 j9 o6 }& |) L* ]/ Y
  6.         {' d# b6 J* H  F- q" B
  7.                 uc1601("CAPI初始化失败", 1);8 L4 A# w, e2 B! W; |( E( v
  8.         }
    / a( Q  r3 ~$ v4 E9 U4 \
  9.         if (mysql_init(&mysql) == nullptr)  M/ J$ a- X' {3 a5 H
  10.         {  c' e3 y8 V2 j3 w
  11.                 uc1601("初始化数据库变量失败", 1);! y% U. t* i4 X5 I# X2 k8 t

  12. + m' ?! t; Z* q4 O% \/ ^
  13.         }
    4 T# Q; F+ s  C* [7 P( s
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))# ~/ K  i0 g7 F$ U* k  o: `1 o
  15.         {7 `4 j  A1 v8 o$ t' [
  16.                 uc1601("设置连接选项失败", 1);* U# G. M& V  N- c1 R( c* f5 o7 Q8 H
  17.         }
    # W1 |5 N- D9 H0 W0 _
  18. }
    ; s5 A) [. M" m

  19. % O( G7 m4 S% m2 s2 s) q
  20. bool MySQLConnect::ConnectDatabase()+ ^- c* X2 B6 c4 x0 ]6 V* `
  21. {/ Z" E8 I* B2 }( z' v$ ]/ {" {
  22.         //初始化mysql9 e' }+ U9 `% C/ I) B3 k- ]4 ]5 I
  23. + u# F( |" L  `8 Q" Z, t0 B
  24.         mysql_init(&mysql);   # W% x" A8 x6 ~% G/ o
  25. . X, B+ v0 W) [$ A
  26.         //这个非常重要,否则打印出现乱码
    $ K8 a3 k9 }5 H) ~5 x$ E
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    1 W6 i. Q6 O' o8 @: A$ e
  28.         {
    " W' p) Q9 X$ p* l0 G! r1 H  H
  29.                 char msg[256];5 T' d) l7 o) M8 e% a9 T3 i5 O
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));5 U/ u# Y: u9 d2 z) j3 c$ d
  31.                 uc1601(msg, 0);
    5 L. F5 y0 E3 h% P( U
  32.         }% T5 ?) V" k# m0 `4 L
  33.         8 D0 @/ O6 J8 w; v0 B
  34.         //连接mysql,数据库3 I6 G' b1 y1 o. A) y. n5 ]
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) ; e7 i/ {2 w0 P5 O( {" m& a
  36.         {" }( o7 m. M" |% j1 o# b
  37.                 char msg[1024];
    - V$ I9 `; L; B5 k# _; m- d
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    $ M# k7 h7 l1 i# {
  39.                 uc1601(msg, 1);8 I; u) c7 Q9 ^; K) S, q* \
  40.                 return false;
    + z* a/ z' v6 m# a. j: x# C' d9 Q
  41.         }$ D- V  v0 B; ^
  42.         else0 ?4 H( a& T+ E, C
  43.         {
    0 u* Z+ h% X% c2 t9 r6 Y' X4 @
  44.                 uc1601("数据库连接成功", 0);
    ' ~) B+ r9 L9 A; k% r6 d
  45.                 return true;3 y& g' {# ?4 L1 G, w
  46.         }
    8 r3 s: M8 `, i
  47.        
    7 U/ C, J& T+ T9 F. m4 H" S* Y
  48. }/ U6 ?3 i0 e6 J/ S: s" S, d
复制代码

3 E: q" x7 `! `, R( y( |3 l' Q: a+ g- Q# {5 P4 a) {# j6 C

/ W4 V1 {3 n( C) R" p$ n& ^5 aMySQL 链接数据库的方法,出现乱码,注意设置字符集' Q1 B' ]" o$ P5 U" R( ]5 H
11.png + C$ [# N# f; o% ~0 f* f

2 n' X" A9 y* Z. J2 q& A
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部