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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. ( e+ }) A: h  F" H
  2. MySQLConnect::MySQLConnect()
    8 R  t. [8 c/ ], c# L( L% U  u, |0 A
  3. {
    , X% i5 a8 l; q' S; P% Q# l
  4. 3 l  e" @; }+ h+ P# F, A
  5.         if (mysql_library_init(0, nullptr, nullptr))6 Q* Z0 ?8 b) a( {4 x
  6.         {
    : D3 K! k! l4 ^8 T6 y* u
  7.                 uc1601("CAPI初始化失败", 1);3 a. N' h% Q# s0 I9 n3 ~
  8.         }
    . j6 r) e9 K1 p
  9.         if (mysql_init(&mysql) == nullptr)
    5 u8 M& m' ]1 r+ h2 m/ N8 z
  10.         {
    # o- z" q) c3 [; R4 Z7 q6 m8 v: e
  11.                 uc1601("初始化数据库变量失败", 1);
    . M9 u& V8 v: |) ^  z- V

  12. & B5 U2 w+ r1 q+ i
  13.         }7 K" |3 O# T- a! a
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))0 ~6 ^  h% M; v
  15.         {8 H* s  S4 X, h+ r; t8 W  k  j$ o
  16.                 uc1601("设置连接选项失败", 1);
    " e5 x+ d& [& @' u' V3 X
  17.         }: [( C8 D) w! d
  18. }
    , G, n. Z& W( l! H

  19. , v5 F2 l0 m. s
  20. bool MySQLConnect::ConnectDatabase()5 h2 U4 m- J- R% u  [
  21. {1 i, }7 q% e8 U2 R
  22.         //初始化mysql
    6 ~% v7 Y  @* k2 Q! Z% n+ d8 k

  23.   y/ L5 F7 z; l
  24.         mysql_init(&mysql);   
    ( N$ e2 ~) Q! m6 J

  25. : y+ e8 ?: X! l" z2 X+ W2 t
  26.         //这个非常重要,否则打印出现乱码6 F. s3 F; e& e0 n) X) e% N
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    0 d1 _, c# N2 Q
  28.         {4 x4 B+ j7 H) d6 O
  29.                 char msg[256];+ ^# z3 t/ x7 c  A9 \; |# C# Q
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));7 C* x+ A( L& k( A, X. v
  31.                 uc1601(msg, 0);, N, S7 W2 I6 p6 t) D$ b7 x& j
  32.         }5 D* j' ^# U5 C, f0 c
  33.        
    ' q4 Z4 G8 F2 f1 G8 S" @
  34.         //连接mysql,数据库
    $ j0 V4 \' q( d  z0 a
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) & \8 M$ `& f" S
  36.         {
    9 z# U- u% d5 B7 h; G: F6 F
  37.                 char msg[1024];: p  h4 Z) _. S3 y
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));  R% f$ q$ u6 M: {+ x$ z& o
  39.                 uc1601(msg, 1);. H4 i6 e  U+ g4 G4 Z% h
  40.                 return false;7 h) _( G; A/ O/ P5 B8 s: j2 ?6 }
  41.         }
    ( e& ]9 c; r! C. f; M- E
  42.         else
    " x/ A3 f4 ?/ Y8 D  h6 T$ b  B7 [8 {
  43.         {
    + \# l! A% {: p" d4 B" t. W
  44.                 uc1601("数据库连接成功", 0);, Z) ^2 j7 d# g0 u/ N
  45.                 return true;
    ) \: H" \& R+ G3 `
  46.         }" X) i4 w+ J8 C  r" t, n/ E6 @
  47.        
    ; a3 z6 t2 _7 T1 M
  48. }! r! ^+ y( m; \1 y
复制代码

! U9 A9 N$ V; I5 H
) T, g3 U6 S( \- A; |# o
8 ^6 T: }0 Y/ I" @8 fMySQL 链接数据库的方法,出现乱码,注意设置字符集
% U  M& K. Y2 O; j2 I5 M 11.png - ~3 ^8 y8 I7 V  V# m

( `! q. w; {* w( @  u- e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了