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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
  1. $ a5 P0 p/ h8 S. `1 [
  2. MySQLConnect::MySQLConnect()" F; k4 w' U) Q
  3. {8 c& ^, V+ M  L

  4. , k  R3 v9 g; K  O! e
  5.         if (mysql_library_init(0, nullptr, nullptr))
    - A* l( K/ G; }8 |2 v! Q
  6.         {( f3 w2 _* o( f- ]: m
  7.                 uc1601("CAPI初始化失败", 1);
      @7 _( z4 h; T' }3 `1 E
  8.         }
    3 t  t$ N9 |2 A6 d4 f0 z3 U
  9.         if (mysql_init(&mysql) == nullptr)
    ' a* r/ ^7 v; C9 A* `$ ]
  10.         {
    " C+ ~. ~* J, f, Z
  11.                 uc1601("初始化数据库变量失败", 1);$ c* v/ k: l4 b

  12. 0 V* b, Y, A! \7 U. _* g/ p
  13.         }
    / @' K9 J7 Q  p
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    ! s+ b, h9 ^$ @: b' G
  15.         {
    6 n# H: O+ C  |! p6 i8 B  P
  16.                 uc1601("设置连接选项失败", 1);
    ; h. u8 c! G2 z* t! @
  17.         }
    $ H8 `& B/ y, G  ]  Y# W7 R
  18. }: k& R; e8 F% }! \- a$ w5 e
  19. / o2 d: r% K: A/ _8 \% n2 a
  20. bool MySQLConnect::ConnectDatabase()
    7 o4 C0 m9 E( F8 _* D; i' e9 s
  21. {
    ; t8 o  V7 \" N+ \. }
  22.         //初始化mysql% a. W, G: o6 ?) S- Q) O% }
  23. ) n: v/ {  u. Z/ q
  24.         mysql_init(&mysql);   3 O* ]5 j" w3 r
  25. 3 ~# A( h7 N. I4 r9 |0 u+ N( V3 P
  26.         //这个非常重要,否则打印出现乱码" f- @" T% ]' h  p- G
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    & `9 m6 r; K+ r  J$ T2 S" B
  28.         {
    5 c0 i8 |* \: w6 F; m0 f
  29.                 char msg[256];
    % C/ \3 d( z# t) f  f8 u
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    . `" ^2 @2 C$ m, H7 H5 Z
  31.                 uc1601(msg, 0);
    & D  s: G7 r  I% r( D5 X) T
  32.         }$ ]( ^- l7 L0 A$ i0 G/ L; K0 K
  33.        
    5 ]8 D' ?- j# L  J6 C* F/ f
  34.         //连接mysql,数据库
    1 a3 A& n( m' C' B. H1 D0 F
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) + {6 n" S/ I  Z0 B6 [/ A
  36.         {
    % B! L4 H% H' @* q  X2 r% `5 y
  37.                 char msg[1024];
    * X% a- r' s3 z5 G! P
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));+ o- X* T% y/ X! h6 t
  39.                 uc1601(msg, 1);2 T5 b/ S* M; x: H3 W
  40.                 return false;
    0 e8 G+ Q9 |, n: |% e4 T- _) N
  41.         }) q8 v6 g  I; b, |! c
  42.         else- Y9 j" p5 g% L3 P8 D: \  F6 B. S
  43.         {' \: m/ o" @" _$ b
  44.                 uc1601("数据库连接成功", 0);
    * P5 S% f  O( B# w  |
  45.                 return true;8 F+ K% z% V7 _# A- {
  46.         }6 q, Z: d, E( {- U- N
  47.        
    2 \, R) e1 [* s2 a3 O1 S
  48. }1 s, V; N) V  r
复制代码

0 w0 A! J* D( m: j' d  O+ Z5 K9 I3 X

5 o6 m& J2 K$ P9 |8 r' U9 bMySQL 链接数据库的方法,出现乱码,注意设置字符集& h# G' |# s1 ]8 B7 l4 {
11.png % [2 M. t6 i) T/ E+ [
2 W% v- ~) K9 f$ r
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了