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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. 8 k! F8 w- ?0 q- V7 G) q+ F
  2. MySQLConnect::MySQLConnect()
    ) r: m( V2 ]% `. i5 _8 l0 x, I
  3. {
    8 Q/ \- b2 w8 z' Q" k
  4. , D1 N/ }2 U. K% r3 U
  5.         if (mysql_library_init(0, nullptr, nullptr))% \0 z- I; ?% v/ J8 V4 |' w( D
  6.         {& R6 h; J/ y. p
  7.                 uc1601("CAPI初始化失败", 1);* P! t# @0 K9 g" ?6 I. g
  8.         }
    9 R7 k5 b/ T+ Y+ }2 g6 ^2 Q! a# N6 l
  9.         if (mysql_init(&mysql) == nullptr)
    ; k7 t& m0 O0 n, M# F
  10.         {
    $ r/ N  t4 k8 V
  11.                 uc1601("初始化数据库变量失败", 1);
    ; i& ^7 j  b$ s) Z) X) T0 T

  12. 7 d$ u4 A2 Z/ Y+ w' Y6 m* ~
  13.         }
    $ J+ G: ~- z* V4 U
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    ( P4 B! j! S. s! p1 n* V, b0 X& `
  15.         {8 z$ U/ A/ }. N) u6 r1 s
  16.                 uc1601("设置连接选项失败", 1);
    $ D+ n$ S) h% \1 C, D1 t
  17.         }
    8 a% j" q" |! R, _: w
  18. }! }+ \+ P% c* J  |
  19. + e6 X' |7 v! k; r) u1 A0 I
  20. bool MySQLConnect::ConnectDatabase()
    ' l3 G+ n. }# W8 L, V3 U  B
  21. {
    1 y& F9 s& h/ v
  22.         //初始化mysql
    + c% T& N7 I2 e1 |
  23. & J; \& L" G3 }! V
  24.         mysql_init(&mysql);   9 _0 {; e6 Y- u- y: a+ i$ y$ c3 N

  25. ( N% v9 o; S) ^5 G( E
  26.         //这个非常重要,否则打印出现乱码  ~' ~9 A# V9 R( s2 `
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
      v2 V9 N/ U! D  Q8 ?
  28.         {
    " L( J& n) x+ N7 ~3 m% G5 P6 W
  29.                 char msg[256];
    & k3 [% p# o% q
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    * G9 K4 m6 N2 y1 d  B8 u
  31.                 uc1601(msg, 0);0 c- d4 E- F# S, H' q3 q" Y, Q
  32.         }
    . u! h) }0 X" L
  33.        
    ! B' l. H5 v2 b" c" i( L
  34.         //连接mysql,数据库9 H3 R+ X  b# x$ A3 t4 _. P7 @
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) ) O2 l2 B4 e% `7 h' V9 G% m9 x% D
  36.         {
    3 j/ ?& W% w& N! X* C4 h
  37.                 char msg[1024];
    5 h1 D' {$ u' a) ?( X
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    % L2 u! v7 c7 J& z% s
  39.                 uc1601(msg, 1);
    " j9 s& b& C. Z6 i
  40.                 return false;
    % k* e" P& o* F' q3 T! n$ Q8 Q
  41.         }" F7 e3 W+ |# j; y
  42.         else, C+ v2 I- Y6 L$ g% G9 ~
  43.         {
    ( @1 H( l( [! d% Z" ^! }+ G3 e
  44.                 uc1601("数据库连接成功", 0);6 W% e$ F. V: u3 x6 ?6 i; f% ]! p4 q
  45.                 return true;0 h! X. L* W, f# m  @9 E: V) v) G
  46.         }$ B& X4 s4 n; ]8 S
  47.         4 w3 T( E- z: a
  48. }2 d1 C2 }( U/ d/ o
复制代码
2 \. B( B4 O8 A6 r

! F0 L4 E$ A; H$ U. K0 W! `9 {9 k
) v$ N4 `% t+ v6 @8 C3 n4 iMySQL 链接数据库的方法,出现乱码,注意设置字符集5 B5 o# e0 k- W- p
11.png
* h4 Y' K* A1 e1 y/ J. `
) G& `5 R  ]! i* N9 @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了