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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. 9 ~( N+ `2 z5 D2 `: {! r( E
  2. MySQLConnect::MySQLConnect()6 Z3 _6 V, J) O: K" e0 W. b
  3. {
    3 _. F  k6 h1 a

  4. 0 L% _& ~! R: Y
  5.         if (mysql_library_init(0, nullptr, nullptr))
    " o4 [( q% i2 {1 J. M8 x# Y9 u! r
  6.         {
    ; J' a- H$ {/ D0 W- s9 E% J
  7.                 uc1601("CAPI初始化失败", 1);
    6 C$ ]# w, J+ |) N  O
  8.         }
    1 T$ Q2 e: m/ P2 [5 o/ I, G' Y3 a
  9.         if (mysql_init(&mysql) == nullptr)3 i6 [9 |9 Z4 C2 o$ E8 Z( q1 |
  10.         {
    , H6 u- J$ r; w& ]- N
  11.                 uc1601("初始化数据库变量失败", 1);7 S! J( u0 q. \, }
  12. 3 k2 m" q( X" \
  13.         }
    6 T6 M, k( [9 r& |  a. j( I* `
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    , Y) D" \8 V- g# @5 t
  15.         {
    6 `* @, d: e9 F
  16.                 uc1601("设置连接选项失败", 1);
    " G+ H* l: u4 Z1 q' z
  17.         }3 R* s5 a% C2 X) K) L% N
  18. }2 C4 G; }/ w  ^1 m
  19. ( U  N3 R  w, y- ?) |
  20. bool MySQLConnect::ConnectDatabase()) ?4 x* y+ Z  q9 l. ?* v
  21. {
    - O% |* f" \& E0 I2 w7 j; z
  22.         //初始化mysql
    6 [2 t8 _: Z9 Y4 I1 |
  23. 0 W: `# a' e) A2 p; |0 S& X
  24.         mysql_init(&mysql);   ; g: F7 W4 v! `4 ^) y) A! e; ]8 f8 g
  25. $ \% I" [- }: K; M/ F& h
  26.         //这个非常重要,否则打印出现乱码
    # Q9 u* g+ e/ b3 R. m3 t) q" n- z3 \
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    3 P% l. p; Y6 C- A. N
  28.         {) n& ^/ h# f% H0 ?  e
  29.                 char msg[256];: h2 n  W9 n& ^! U0 ]
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));% P6 |1 Y* w1 S& u+ c% B8 j& T# r6 c& L
  31.                 uc1601(msg, 0);
    + k& C9 I6 p5 z) g1 s/ h
  32.         }! s: G8 K2 Z0 d
  33.        
    + z1 P/ \* y' k% \! ^7 I9 \
  34.         //连接mysql,数据库
    $ d& n. h' A& R  J7 ^' b+ L
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) 4 o2 h4 S! [2 Q
  36.         {
    , ~; U% D* v* B0 V
  37.                 char msg[1024];" \; ]. q5 [; L6 ]
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    ; u* F1 i9 G: f) X# U3 F
  39.                 uc1601(msg, 1);! N9 G' B$ f6 X5 T+ i
  40.                 return false;6 O8 V4 C: `- a1 s8 ?( K, _- _+ ~+ k
  41.         }' H6 R& U# T) J" V
  42.         else
    . y" W; f* _- _
  43.         {0 q4 e6 Z8 v2 a# T! h
  44.                 uc1601("数据库连接成功", 0);
    - [& Z3 l" e# e# h' h, m
  45.                 return true;
    1 n$ n6 }8 M# I3 A$ ?; S! f; G
  46.         }
    5 g, f/ Z1 R5 d# W& I
  47.        
    2 f% t( A: n0 i7 b0 P
  48. }
    * p# @1 }) W3 b. ]
复制代码

! k* m0 R/ g$ K9 P2 i- d% R( _6 m5 A9 }6 V( s; n3 O  u
! q2 r! R/ i% o' X4 I! g
MySQL 链接数据库的方法,出现乱码,注意设置字符集
+ o# V0 O$ F4 k: V6 |3 C; D  ?0 v 11.png
+ H# A8 @! D; V8 U) O, G  ]9 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了