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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. 4 |) R& c7 f4 g' X
  2. MySQLConnect::MySQLConnect()
    6 \: V% w: g3 V& X9 ~* |
  3. {& s" E$ Q, s5 m

  4. 8 j) c0 _9 e2 Z  N; F" ^
  5.         if (mysql_library_init(0, nullptr, nullptr))
    ; R+ e2 Q, V6 ]5 _" K
  6.         {
    + c  {) Z/ S: }9 P
  7.                 uc1601("CAPI初始化失败", 1);
    1 h8 Y4 G+ W! _9 `' E& v
  8.         }: g( l( A+ h7 q2 C1 R- h& u1 l% P, F
  9.         if (mysql_init(&mysql) == nullptr); U/ x7 H" ~! r0 G/ h
  10.         {; Y! ^1 U$ g+ Y  @" l! q' Q
  11.                 uc1601("初始化数据库变量失败", 1);
    ! h7 d9 p# A) F8 k1 \5 M

  12. 6 [" i1 F* x4 C0 ^
  13.         }
    7 }1 s5 Y8 {% x4 Z
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    3 V: V/ r( e% s3 B9 q( I
  15.         {# u4 X3 o; B0 b3 G0 B
  16.                 uc1601("设置连接选项失败", 1);* p, _/ B( t1 m8 O; r$ j
  17.         }
    4 F4 a, O8 [, d2 |
  18. }, h- l* v  k2 O1 l

  19. " D4 a% B" n, }  ~( b" e3 O: H1 X# @
  20. bool MySQLConnect::ConnectDatabase(), K; l/ p  b; {% o, J  q. l/ ]
  21. {
    " e# {- p& N+ L1 W. {; ]' K
  22.         //初始化mysql1 h" d$ ]; @2 P5 K) e5 B' [- l* H. K
  23. - b; e  E- C1 g4 r! d
  24.         mysql_init(&mysql);     N3 ?4 N7 z* O
  25. " a8 c' J8 Y0 S& H, f5 T: c
  26.         //这个非常重要,否则打印出现乱码
    # V) S" y3 d' C1 ]
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    8 W7 ^0 ~9 c/ m6 S7 x0 J7 A( Q3 ]
  28.         {, B! i+ o' k( D1 q8 L
  29.                 char msg[256];
    : u9 n( W4 @% U: H! W& T
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    2 _4 r8 R" k: k1 q" r
  31.                 uc1601(msg, 0);1 I. }1 T1 p5 b  h/ P
  32.         }: m8 x: O5 V. t; ]. S
  33.        
    & e: Q! G9 _2 s2 v7 u
  34.         //连接mysql,数据库" d" D% |+ \( ^7 ~5 j) Z
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    3 s* i* G# Q, c" x1 N( [4 e
  36.         {! J+ t8 h$ l; Z$ D) f+ ^1 F
  37.                 char msg[1024];
    . H2 B2 _. \& e* y. B& @
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    * s6 X- c) b: R+ N+ ^! j. z( I$ E
  39.                 uc1601(msg, 1);0 y, ?! e2 |' p: E- i/ K
  40.                 return false;" Y1 Q1 E9 A3 ]9 }+ Y' Y' M1 V
  41.         }
    , E+ E& k) Z( R  q
  42.         else
    * Z4 X8 L4 C2 W. T4 h) q$ Y4 h" G
  43.         {* Y) @  t; Q4 a" B, t: ]6 q
  44.                 uc1601("数据库连接成功", 0);
    4 q: N* r3 B( h% r/ i0 l2 [! o, g
  45.                 return true;( l1 L/ ]5 N9 V0 k4 K; t; E' K+ W
  46.         }
    7 R4 o- y- x0 I4 y% h1 J! a" Z
  47.        
    2 ^) {) n- d! y6 V) c) Q
  48. }6 ]& J( j. i- c4 [
复制代码

$ j/ x  o. ]% }4 X9 @6 q; v) P) q

$ X/ a0 }# d: X/ t4 f3 @1 gMySQL 链接数据库的方法,出现乱码,注意设置字符集
3 g, j0 \! Z5 c& o5 k 11.png
. D2 O; t% f* S1 `+ u& }, p6 N  q! e2 p
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了