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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x

  1. # I2 J2 y# I" v4 ?, k& s6 y  D
  2. MySQLConnect::MySQLConnect()
    7 o- L2 e% g5 `4 R! G9 x& m+ Z0 z
  3. {
    - b0 w- E- F# P7 q
  4. : |- o, @& {9 ~* i
  5.         if (mysql_library_init(0, nullptr, nullptr))* P) ?) s, i- d# M4 {' o+ K+ a
  6.         {$ E0 ?. N; b8 [0 p6 |6 i: H, K
  7.                 uc1601("CAPI初始化失败", 1);
    ' k& i4 O: l* p; a& y! L
  8.         }
    % C( J' m, Q# S0 R. p7 \
  9.         if (mysql_init(&mysql) == nullptr)
    $ t; q9 r( L" T. G
  10.         {+ v4 V6 Y. I! D" S1 n
  11.                 uc1601("初始化数据库变量失败", 1);& D( i2 X& D( p, ]! U* v5 S. Q7 b

  12. 0 Y8 |$ S) X3 z5 V" K
  13.         }0 Q! H. h! j& S$ ^& F0 \) d
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    ! C8 X2 M5 U  w' Q
  15.         {0 Y8 v! s% ~3 a  v: ]3 ~
  16.                 uc1601("设置连接选项失败", 1);$ |) h( P6 s) w) J* `# R4 s3 B
  17.         }9 ]5 x9 x' a% ^& n
  18. }% @* E) ~- n. E  L/ C: o, f" B
  19. . H5 B' h- H( \& L
  20. bool MySQLConnect::ConnectDatabase()
    8 g6 m# |0 |5 X) u2 z; w
  21. {
    4 g2 s, |1 k* s9 {6 R, g( }) M
  22.         //初始化mysql
    ' @, G* t+ G1 U2 n) l1 G1 c6 z' A

  23. ' [. Z" ~" Z8 \
  24.         mysql_init(&mysql);   2 P1 Q# O2 F" b+ u2 _
  25. ) ?4 y" R/ ?; u+ F, f
  26.         //这个非常重要,否则打印出现乱码
    / P  l1 x1 C; W) Q1 ]" [  x
  27.         if (!mysql_set_character_set(&mysql, "gbk"))' K' \, Q# P! M7 M0 `, A( u; A
  28.         {
    3 t8 @. {+ K! o' F0 \' K
  29.                 char msg[256];
    * g8 z% S5 h- _! F
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));, D2 v& F1 I1 p, [5 I# X2 N
  31.                 uc1601(msg, 0);
    - ]9 c9 D) y- S/ `; Q8 @0 ^$ {
  32.         }
    $ b- M3 R2 @$ Y/ {7 D) a
  33.        
    - ~% z3 u2 C+ R! @- G' {
  34.         //连接mysql,数据库
    2 H* h4 z7 _* n( o$ k
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    4 T1 [- {3 `3 n+ F2 L1 [
  36.         {. X5 `$ B. [9 @% r% t
  37.                 char msg[1024];: g7 v5 A- d8 Y: s: F! n6 l: v; f
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    : I' R+ ?( E* ?" Y
  39.                 uc1601(msg, 1);2 y9 M* L- |0 q- F% Q( c" n
  40.                 return false;2 I8 r4 Q. F3 V6 c  @9 q) p
  41.         }2 _5 A4 ~: v" n7 l
  42.         else: g. g! N8 i; P: X
  43.         {
    ) ?9 T" I5 m1 A! U+ M- q! C9 o& b  a# `
  44.                 uc1601("数据库连接成功", 0);
    6 I/ o, \: P' W7 E0 T3 y
  45.                 return true;2 q8 r- q! N# K- N
  46.         }1 @1 m0 s- I( o
  47.        
    : I3 C% o9 q  C0 t7 c
  48. }
    # z1 V1 V' g& G/ v$ w) w
复制代码

; [$ O4 Z3 d( L6 P- d/ ]& }; C+ y" R/ A# x% b1 b
/ Y$ i. G: w+ N& O
MySQL 链接数据库的方法,出现乱码,注意设置字符集3 W* [+ o, Y! b4 ~
11.png
  S7 D9 K; T$ R( h" B2 J$ m: E' H' n: f2 @. _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了