PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. $ F* {3 j( T' `* [( o1 S
  2. MySQLConnect::MySQLConnect()
    5 n" J, |* u: p) {# V! B! p
  3. {) Q8 r0 Y$ M( D/ v

  4. 9 _/ P+ z( U) @/ `: F6 q1 w
  5.         if (mysql_library_init(0, nullptr, nullptr))
    / q/ c  S+ p: d  ~) L0 y" [
  6.         {' h8 F3 |9 t3 S" _9 V
  7.                 uc1601("CAPI初始化失败", 1);1 {  V1 g. n/ o
  8.         }
    ! @  c8 }1 F; e4 M( q
  9.         if (mysql_init(&mysql) == nullptr)
    1 y9 U+ \* c# r
  10.         {
    7 u5 K& f' j4 g- j4 W
  11.                 uc1601("初始化数据库变量失败", 1);+ a' g! L& n3 E) x5 M2 y2 j
  12. ( g3 G% Q$ N6 u6 m& z- n$ S
  13.         }% ?# N1 f, j# g+ o& Q# f; W: p9 a
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))+ ], g4 t; c3 e! A% r
  15.         {, d0 M- F# u& g, z" g& B8 S
  16.                 uc1601("设置连接选项失败", 1);
    9 v8 v+ K/ n& a3 H0 A
  17.         }
    ; h* d! n6 b; _( _4 @
  18. }1 K% M* H* J; W! B5 T$ R

  19. - G4 q" O+ D# a/ b6 T) k1 O
  20. bool MySQLConnect::ConnectDatabase()
    8 |3 N5 }9 p6 i$ y: s
  21. {2 [( V, ?  @8 L" r( n" W
  22.         //初始化mysql+ a+ V* @* E! u
  23. ( p- }; o5 P! @& V1 K: Z. L' a) ~  n
  24.         mysql_init(&mysql);   / h0 B1 G- b+ m, s

  25. * B$ _' W7 k/ x& y8 @
  26.         //这个非常重要,否则打印出现乱码4 I2 g" r' x5 U2 D  O
  27.         if (!mysql_set_character_set(&mysql, "gbk"))- e( A) N6 i) f1 ~9 a
  28.         {
    " z* G; H  ?3 ~6 x# `) O
  29.                 char msg[256];( g, R$ W5 }- E
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    2 Y# q2 Z! L% M0 S7 _
  31.                 uc1601(msg, 0);- @5 s9 L$ b* k# S+ \  {
  32.         }8 Y- X( @" l2 C$ @
  33.         4 Z" H$ l5 J& \" a
  34.         //连接mysql,数据库9 O6 b& M+ d0 J
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    5 _# E% ~' T! I0 f2 j
  36.         {
    5 G# y+ D* H% g& U) Q, I
  37.                 char msg[1024];
    - Q- d1 S" T% D3 P
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    ' V. Y5 w  y) M; l9 F
  39.                 uc1601(msg, 1);
    - [# _/ l5 E$ \* W# E# U
  40.                 return false;
    8 Z. \. ~$ t. Y& @
  41.         }( P0 o$ x) i* j. F& K' ^, n  [
  42.         else
    4 X( k# \3 Q' G" v* G- w% S# E# N
  43.         {0 ?4 C' {* w0 W, `
  44.                 uc1601("数据库连接成功", 0);
    8 W$ Y: b* W& m/ Q7 w
  45.                 return true;
    : Q9 [' s+ U. b
  46.         }
    3 O4 B9 K) d5 q6 p5 H- y4 }
  47.         $ [0 w# z7 I" {- o
  48. }
    : ]* C- b7 m) E( W$ b
复制代码
! ?$ F9 k" J0 Y: f* X: k& [* o
* c) j9 c: n$ n8 X5 j4 m1 J( j1 Z

* l, Q' I4 E- I2 fMySQL 链接数据库的方法,出现乱码,注意设置字符集
+ C( J6 q  U4 T3 V 11.png : S7 g5 X/ _- G4 h" h. \2 s

+ o' O5 T- a* s, E$ h4 B) G' f  y$ h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了