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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

  1. " M- B" G0 s2 C5 _' k1 {8 Z
  2. MySQLConnect::MySQLConnect()6 R, I' i" `3 ~0 I
  3. {
    ) X3 R8 }# s/ M: S- o

  4. 2 [& K3 B- G' |
  5.         if (mysql_library_init(0, nullptr, nullptr))
    . J2 h0 _# k7 d$ _2 ~) R' R. Q. j
  6.         {
    2 y4 u2 x6 f4 M; V7 p+ h
  7.                 uc1601("CAPI初始化失败", 1);
    # [0 X' `; c: B2 m- s: B
  8.         }/ ?, R2 b/ }. E& y$ J4 K2 J( r3 {7 W
  9.         if (mysql_init(&mysql) == nullptr)
    & v2 A  o  X$ A8 o
  10.         {& x% ?& G0 k5 i7 v  |; Z
  11.                 uc1601("初始化数据库变量失败", 1);
    ) j! B! q+ B3 q( Q! @

  12. . c. {, Z" d1 X: B* j
  13.         }' ~3 C) b) e& l3 _* h
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    " O! ~" H4 l& h) }% t% s0 ?
  15.         {* }) i2 }6 c% l3 r' j
  16.                 uc1601("设置连接选项失败", 1);) A# \  y2 i5 E. I
  17.         }/ [% q# w# f0 I- Q
  18. }
    8 L# B* Y* d. `

  19. 7 Q" I& _) c' I3 {# }  B1 Q* N
  20. bool MySQLConnect::ConnectDatabase()9 z' K& Y# N1 j  p' X
  21. {
    2 Q3 t6 F. I7 U# a8 J2 i3 w
  22.         //初始化mysql
    2 r9 J6 G) S% L; R

  23. ; p" g5 `* q9 a( u6 x. }* Y" X; }
  24.         mysql_init(&mysql);   
    + }$ V* S1 @3 N4 O; T8 B

  25. , M' e0 K4 `. \. I6 P
  26.         //这个非常重要,否则打印出现乱码' V; `) H% {! Y7 X# g3 U
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    1 |9 Y; O! [3 O8 P4 O
  28.         {9 {7 H- f" k1 m
  29.                 char msg[256];
    9 F* {# _: ^) ~9 F$ J
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));, M/ Y6 b: }  m* V, V. y
  31.                 uc1601(msg, 0);; I& v$ L! `3 z- h8 B+ J9 y2 o! k
  32.         }
    8 k' Z! P* G  v2 Q: x7 ^9 c
  33.         / U0 @) y. o( ^9 P9 P! d8 B0 y5 E  ^$ B
  34.         //连接mysql,数据库
    . o+ s- q; Z1 N! P. x  D
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    & B2 J) C$ E- c$ t1 @8 E% D; z
  36.         {
    6 w+ }! c5 `, U) m9 v9 A/ `$ d5 ^& P
  37.                 char msg[1024];
    1 R; z$ U+ E( w% t6 _  \
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    * O3 a6 G- ?  x* G
  39.                 uc1601(msg, 1);
    $ m/ g2 J' A- ~; a& _1 s, k
  40.                 return false;0 t0 m( O4 G" a
  41.         }
    + v) q' C$ L" I/ [
  42.         else
    " ?' p( z/ |3 y1 v( q
  43.         {
    # `2 x% y2 ^- l, |( {9 G/ h' r. A
  44.                 uc1601("数据库连接成功", 0);
    1 ~" o* J8 {% d
  45.                 return true;# v' B9 |/ L, M3 x
  46.         }0 g* d6 A; D  Y8 h1 e3 ^+ Q0 I
  47.         ; l. d5 }7 v& y- m  [
  48. }
    % E7 v" t0 u! g$ y% e% \: T# Z7 [
复制代码
$ E, P9 C. q1 G
0 i' Y0 [' O6 q; g( h

* Q/ m% w; d8 b( NMySQL 链接数据库的方法,出现乱码,注意设置字符集6 c, l7 U) W+ W- j6 L
11.png
* H4 s6 `( {7 y9 @6 L
$ Q% |; q1 C9 z# i, z, 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二次开发专题模块培训报名开始啦

    我知道了