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

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82195
QQ
发表于 2023-3-6 11:42:58 | 显示全部楼层 |阅读模式

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

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

x

  1. 2 p# R! A" J. I6 ^& N  t4 a" \, O# A7 z
  2. MySQLConnect::MySQLConnect()
    $ }- A5 J" h$ }' M) N* p# b
  3. {4 k) I6 X& Z! S1 \& g

  4. 1 k3 P1 k5 v) X; t$ R  C
  5.         if (mysql_library_init(0, nullptr, nullptr))4 f" k) p5 G, O  v
  6.         {0 T' `. g( x# ?* V8 o5 Q6 N9 Q
  7.                 uc1601("CAPI初始化失败", 1);8 y9 [& z! `( A2 @8 Q! F
  8.         }+ Z! b3 b+ f4 }# M. g
  9.         if (mysql_init(&mysql) == nullptr)# I: N7 |& b& W/ a
  10.         {
      a$ B3 }" D( Z, A" r- z1 f8 F
  11.                 uc1601("初始化数据库变量失败", 1);
    5 O5 ?! r! i  S( a5 `0 u7 y

  12. . ?( A+ `% v) j# [' `2 u
  13.         }+ W4 d& X8 e. ~' t
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    % y6 d8 e7 `' P! f4 O
  15.         {1 H) W6 x: t& T. Y( a) c9 p! y
  16.                 uc1601("设置连接选项失败", 1);0 T. S& J8 s9 O8 K! C
  17.         }6 G  N7 w4 N( V6 x
  18. }( |6 B5 n" G+ G

  19. 7 h: v; j/ M5 W0 C
  20. bool MySQLConnect::ConnectDatabase()
    + E7 I( ?% d! h9 f7 z% b
  21. {
    7 l; h3 q% l; M$ d, |$ S. a9 I# I
  22.         //初始化mysql
    ; I$ R- Z/ N5 n7 c2 Y$ D
  23. - \1 p- s7 ~+ w
  24.         mysql_init(&mysql);   1 r1 M/ E  Z; f( c8 k
  25. # E2 d" u% M6 E/ y1 g
  26.         //这个非常重要,否则打印出现乱码
    1 P: Q1 c, |# R$ ~1 S/ X$ h
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    ' C1 p% v3 d. b0 ]8 ~4 C  b0 L. H
  28.         {7 E" q1 K& \( h* d
  29.                 char msg[256];
    8 l7 {( p8 X9 g/ L' ~0 H
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));, U/ g9 p; V/ `% L
  31.                 uc1601(msg, 0);& D  b7 `8 X: N6 E
  32.         }
    , T* c' m* B/ a, `
  33.        
    * X8 h2 f9 t) K1 y' r- ^  e! L6 w
  34.         //连接mysql,数据库
    - d2 k) ^+ ]( Z8 e
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    , u) M: m/ |* u0 E
  36.         {; G5 X8 u9 k$ |4 W. I5 |! L
  37.                 char msg[1024];/ N& Z1 N) T4 z; Q' \
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    8 i" X4 ^# \4 _2 y2 [5 y$ W
  39.                 uc1601(msg, 1);
    ! K3 v. Q, E5 e0 w5 |& e
  40.                 return false;+ V& i' w7 d# h7 c" O
  41.         }* e+ K8 s7 j' {, h. E+ F
  42.         else6 t$ K, C( D- o) ~) c
  43.         {" J1 J( }" k- I* D9 V4 B
  44.                 uc1601("数据库连接成功", 0);
    ; e8 Y/ G' {6 G7 l& Y# {2 a
  45.                 return true;
    ' l! `4 ^& d3 z  w1 |
  46.         }
    1 V) A# X" v- D
  47.         ; C& h' f3 U) d9 d7 Z+ q, ]3 D
  48. }
    6 R8 Z( @9 w9 \
复制代码

3 [* g9 E7 D  K, O) x
- m# D# [; Z) H3 [  C8 N0 G
5 a7 R$ L( ~+ k1 T& C4 UMySQL 链接数据库的方法,出现乱码,注意设置字符集
5 i3 d+ s: S8 z) K$ P7 | 11.png
1 ~3 e; y" K/ ?( e/ m, E3 J$ l. M" Q& D8 i4 w5 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了