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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x

  1. ' r4 x- ]& ]+ k) l. I
  2. MySQLConnect::MySQLConnect(). A0 I+ @) N) g* S
  3. {6 f9 {( x; ]' T" A$ _+ e

  4. 4 o* C2 x. d: w( [# e: s1 {2 B% Y
  5.         if (mysql_library_init(0, nullptr, nullptr))7 I- D7 a0 S6 S1 e5 n& z2 ~9 l
  6.         {7 j# M. Y0 i# W" e+ y6 c) u
  7.                 uc1601("CAPI初始化失败", 1);
    / N, X3 N- m& U* V& X: G( F
  8.         }* Z* Z! \) y. o
  9.         if (mysql_init(&mysql) == nullptr)
    6 o6 s+ ?5 {* ]* L+ N
  10.         {0 S! a9 N, g" t: c: R) r
  11.                 uc1601("初始化数据库变量失败", 1);1 z2 F. B" a5 F  K

  12. " D0 A0 A" J' E
  13.         }
    , C4 n, W$ r" B6 D$ L
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    * n- x  e; s7 f, h0 m, c0 N$ v+ w
  15.         {% {" f9 I: t8 v" [
  16.                 uc1601("设置连接选项失败", 1);
    8 W( t7 v& x* m
  17.         }
    : x+ |) v1 a/ T. Z+ C& S
  18. }
    0 W  A! ~4 V4 Z4 Q9 z. X/ d# p: \

  19. & U; X- K% b3 W4 P% a' B
  20. bool MySQLConnect::ConnectDatabase()
    ( e2 O/ S( g8 ]( l" \0 C. w
  21. {
    2 {; h0 t' l, z9 T3 i& q3 ^* w
  22.         //初始化mysql3 _" S/ j+ Y/ |# F# ]. q* [

  23. : E' t! F' _" J
  24.         mysql_init(&mysql);     j3 @6 j: M/ w

  25. ! R" b9 W4 `1 i# o1 z" ~! H
  26.         //这个非常重要,否则打印出现乱码$ |- ^! H) d$ g) \& U* _* P1 z
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
      _: a4 S) D4 Q" |
  28.         {; J! ]9 x/ f5 `& w$ u9 T5 @1 E
  29.                 char msg[256];. h4 \* a; ]+ Z4 _0 A* h
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    4 }: C$ @# f0 Y/ b7 k
  31.                 uc1601(msg, 0);
    ; V+ `; v) ?# F; |- n
  32.         }$ z7 I+ }- z) B5 R. s9 Q6 P
  33.        
    ) v% Q) K+ {% j2 ^3 G7 |- p# P
  34.         //连接mysql,数据库
    2 z8 ~/ L2 r4 k
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) 1 N6 Z( b) y: o* S: t
  36.         {* E% p6 R+ V( x9 u9 ^/ b2 k
  37.                 char msg[1024];
    / P4 L: Y" M6 C5 {; E
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    , P( Y8 E* E  [0 M
  39.                 uc1601(msg, 1);7 I$ `' l. y1 a- A: d" o
  40.                 return false;
    # G8 d5 ]2 m' ?( Z
  41.         }
    9 T% U% A* E. l5 ~2 ]
  42.         else
    # ?4 [$ ^( c% J
  43.         {
    * i: l/ A: v, h0 a1 a  {
  44.                 uc1601("数据库连接成功", 0);+ m: Z1 a9 s0 M
  45.                 return true;' `  x! R" b1 S
  46.         }9 w5 d, e4 a5 d' V, Q" z
  47.        
    9 t% R. C# {5 a1 k. H
  48. }
    5 i, L2 i/ Q8 R8 M" d
复制代码
9 o, H" ]6 x8 R4 c3 ~+ p
* C5 E3 z0 B0 W/ D# a; }9 c# j
; M, a3 M+ p1 ~3 l+ @
MySQL 链接数据库的方法,出现乱码,注意设置字符集
: e  P" J3 ?: Z 11.png # P& Q: F' n- w5 s! v
; L4 t- D* h. o0 v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了