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

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

[复制链接]

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

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

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

x

  1. $ Y  r! N! _; ?
  2. MySQLConnect::MySQLConnect()+ N* \' N6 R4 ]2 R" L2 A! H' `
  3. {& Z3 j4 y7 N# u, X
  4. ( y! D5 L' ^3 k
  5.         if (mysql_library_init(0, nullptr, nullptr))
    , q8 F8 P: w2 L
  6.         {3 E  ~* d- z& f* u6 Z  j/ x0 V
  7.                 uc1601("CAPI初始化失败", 1);7 y( r/ J# r! w9 ~* Z
  8.         }
    , `1 K2 Q, R+ x0 _1 t# d5 s
  9.         if (mysql_init(&mysql) == nullptr)
    ; F  [; |* Q, e# e4 r  \7 M- @
  10.         {
    + o" |& e* [8 e0 u' ^8 s' p: [
  11.                 uc1601("初始化数据库变量失败", 1);
    3 J! g) I# N9 Q' Q. M

  12. : J. m4 Z: S0 J& X4 }& {
  13.         }+ I* m2 U+ D! R/ l0 }
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    7 ~1 o3 M5 r- S2 r+ @4 i1 f# Y: B0 ^
  15.         {
    + |; t! b$ c9 A& ^2 C
  16.                 uc1601("设置连接选项失败", 1);; d! }" M2 `+ g0 x5 t5 `- n) W
  17.         }
    / a. I6 m  D4 l
  18. }) p# V3 H4 N% \& n

  19. ! P# h" ^4 r" g) c7 {
  20. bool MySQLConnect::ConnectDatabase()
    $ i) t: u, d: ^- O! M0 w
  21. {
    / ^. J2 p) W  e2 J
  22.         //初始化mysql
    ; k% [+ O0 F9 ?

  23. - k7 [6 {  M8 V* p1 n) b
  24.         mysql_init(&mysql);   * Y  u. m# r7 B7 ^; C! Q5 g7 J

  25. 9 ]7 g5 X0 a; l0 I+ i* u
  26.         //这个非常重要,否则打印出现乱码
    % Z0 D/ C3 U6 a" K
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    8 `' b; l/ P4 A7 R5 l1 [+ w
  28.         {/ c7 q0 q3 v* O+ s% b3 F, D( ?
  29.                 char msg[256];
    ) g2 i3 N$ B+ N% ~/ o
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));  x. k. b. y, N# o* ~# l+ k
  31.                 uc1601(msg, 0);
    . m$ {5 D, Z8 E- K% N: J
  32.         }4 _% o% d6 |9 n' n1 G
  33.        
    , B- I+ X/ |! E9 }/ U0 f3 A5 G8 L
  34.         //连接mysql,数据库2 Q( \9 j( F# @1 G# `6 W
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    + s; i2 m$ O! l/ {  C0 v
  36.         {
    * N/ g) \( B2 j
  37.                 char msg[1024];
    ( L+ }: F& J/ |7 ~5 v
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));7 L3 ?+ o" b! Q! x6 u
  39.                 uc1601(msg, 1);
    2 F; J! \- n3 f# j4 a
  40.                 return false;6 P) a2 c* h) N) o+ E7 B" F
  41.         }
    7 i0 o# O$ G( b' C: [: T
  42.         else$ s; Z8 r$ @2 @2 P; \" V
  43.         {& [" y5 h" c+ o
  44.                 uc1601("数据库连接成功", 0);
    8 d2 h( R9 Y# S$ y4 e
  45.                 return true;
    / v3 }+ C9 j. }; h) l& c4 u! q
  46.         }
    0 O* l( y* q( D1 b7 B6 Y0 a
  47.         , I0 r) m5 N# k: ~0 X
  48. }% S; y: d! f6 ^+ H
复制代码
6 H1 R: f% z6 J. ]& K2 A
% @& q3 p# O4 S. {; e

. G+ E, I" a" s& s4 AMySQL 链接数据库的方法,出现乱码,注意设置字符集
: M' g9 ^3 o8 e5 u2 |3 Z 11.png * b! v8 f  ]$ ~- n, `1 ?. G* z

* r' X8 k5 D6 V# @. L0 C- I+ 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二次开发专题模块培训报名开始啦

    我知道了