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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
  1. 8 |8 @' q8 y; }4 C
  2. MySQLConnect::MySQLConnect()* T2 g( x( K/ z) a( P  P
  3. {
    + q* e' |! m7 h
  4. ! ?% Q2 J. \/ K/ G  P8 {
  5.         if (mysql_library_init(0, nullptr, nullptr))
    ( F. m0 }9 n& z3 N! L, [
  6.         {" ^7 m0 O6 s3 R& U( g* y' T" W
  7.                 uc1601("CAPI初始化失败", 1);+ R9 ^; C& \  C, ]
  8.         }
      ?  e/ l. Y' s0 c, X& v
  9.         if (mysql_init(&mysql) == nullptr)
    + C; O' `1 n8 n4 c# z
  10.         {6 q" r9 g6 Z  ~6 c3 v8 [
  11.                 uc1601("初始化数据库变量失败", 1);
    4 c1 |1 y3 D1 A1 S! K

  12. ! n4 ^' v# z0 ~
  13.         }. v/ L7 z3 e* _( [! z: ]
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))$ X; P* }4 ^* a+ T* x/ S0 }
  15.         {
    6 V( r% {: B0 U4 H5 O+ x: _
  16.                 uc1601("设置连接选项失败", 1);- B& {, Y7 ]- D+ X* _
  17.         }
    * T9 O5 b* b6 P& q# R
  18. }' J" Z0 W, v: p" k2 }( J& z  P

  19. - m# O8 N+ G; ~2 K
  20. bool MySQLConnect::ConnectDatabase()
    + N" t+ t" x) V/ v2 v- o
  21. {5 Z  R1 O: w. d/ L+ S/ ~' l
  22.         //初始化mysql, ~$ Z* ^' c4 U5 Y3 C  _& `! M2 v, e

  23. ( b( I- ~0 W: Q* I
  24.         mysql_init(&mysql);   
    4 w; C3 V: P1 d

  25. % B9 {4 i) s) G' [7 n) O: G; e) N1 s
  26.         //这个非常重要,否则打印出现乱码
    4 g' i" a4 j4 B, Q
  27.         if (!mysql_set_character_set(&mysql, "gbk"))( k3 g0 g/ d1 m+ d1 v# q& s
  28.         {3 w) u, v9 q% l) o% s
  29.                 char msg[256];
    4 x% H+ J( p' L
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    8 ~3 `/ J4 t, q: \0 U) l5 M+ f
  31.                 uc1601(msg, 0);4 B, m; Z2 M+ ?3 d' }# A
  32.         }5 {9 H# l6 S6 Q; b- m- B1 O7 U
  33.         4 K/ a7 M# C: ?0 M5 y0 m" i- c  M
  34.         //连接mysql,数据库4 ?2 X# Q! ^% T; P0 W( L9 V
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) ! `1 v& k# u  u* }/ n7 r9 a" x
  36.         {
    $ `7 [: ^! j% q  a( ?9 X0 {
  37.                 char msg[1024];7 a6 m4 w# F# y
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    8 q9 N  f) O* c. a' W% s$ N0 l! w
  39.                 uc1601(msg, 1);7 B) q5 D/ Q, ?+ w8 W* s9 L/ s
  40.                 return false;$ E. p6 g$ T% j9 r6 S- w3 F2 [
  41.         }) d' L8 E! M5 ~" M; Y) l8 R
  42.         else
    # w3 \' c( K2 k" U4 [1 A5 o, F: m
  43.         {
    7 [) U' g& x; v. [) t
  44.                 uc1601("数据库连接成功", 0);
    5 n/ T: \' P9 o' Z1 T  Y* F
  45.                 return true;
    7 y: w7 k+ g& i; x  q
  46.         }$ n! ~, G7 }9 M- B/ `9 o
  47.         . U* T8 D, W0 ^" C) p
  48. }7 p- F, J* F- b4 v+ P: H6 Q, l: R. g
复制代码

+ Z/ d& o6 w/ Y3 `( W% t0 Q5 t! M' w) G" w4 N4 V
, H& t" a; n9 h- D  |
MySQL 链接数据库的方法,出现乱码,注意设置字符集
$ ]: R& K, R: N 11.png + l1 O6 ?1 O1 v5 N  W

0 V3 \( s6 Y  K) x" {! `- p9 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二次开发专题模块培训报名开始啦

    我知道了