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

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

[复制链接]

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

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

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

x

  1. - j$ _" ~' x( k* X! _% C1 D4 P$ {
  2. MySQLConnect::MySQLConnect()
    0 o# f/ ^+ Z) {. ?1 j9 r
  3. {
    3 u  Q  L# f# @

  4. , J" E9 \; W' L* y" ]/ ~2 P% F8 {( a
  5.         if (mysql_library_init(0, nullptr, nullptr))
    # L7 _2 h/ h- a$ |9 D, c# G0 |
  6.         {+ l. d: {/ S& h  D$ d" W
  7.                 uc1601("CAPI初始化失败", 1);% t3 X% ?; S& k6 F
  8.         }9 x# z. P1 O. R) M
  9.         if (mysql_init(&mysql) == nullptr)
    * C* J- G0 c# }1 W$ Y4 {
  10.         {( q6 u# e9 `! T) w. w
  11.                 uc1601("初始化数据库变量失败", 1);
    0 @6 v7 T* t! e0 y# S
  12. 9 G& g9 {; B5 Q' K1 y. Q
  13.         }1 v2 H2 u3 y2 p( }) {& K" \
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    9 {2 g. X! {8 @1 N6 |, }( }
  15.         {% u( i3 v- [3 K( r) i8 j
  16.                 uc1601("设置连接选项失败", 1);
    9 z: p0 b: |, A7 q
  17.         }
    ( M1 X' o& O- Y& N: V  k
  18. }
    7 T) o. y/ e/ ~5 |1 ^/ B
  19. 2 }  L9 V3 f- e% Y7 L' u
  20. bool MySQLConnect::ConnectDatabase()# p  }7 T/ [) C* r  U
  21. {6 P- p6 X& v. G- [  {' J9 ^8 o  x
  22.         //初始化mysql' d: x$ x2 @! Q! M; ?7 O
  23. 9 ~0 d' l! U* R( o% z9 X& D# D
  24.         mysql_init(&mysql);   
    ' w6 L& `" D7 M( k
  25. + e& l% `# P  t, {; c3 {. N8 u
  26.         //这个非常重要,否则打印出现乱码) k) a0 T. w" L
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    : F& s- ]- E- x& d
  28.         {6 C% D7 F4 h% b( g& G2 c; B8 u* G
  29.                 char msg[256];
    / \4 H% Z( U) A! z+ w9 M
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    $ b$ k% ^4 s3 M3 h# a
  31.                 uc1601(msg, 0);# H4 r' ~& N4 m0 K# M  d
  32.         }! ^# k) _5 x, X5 y  x
  33.         + z1 h( `1 f" m' }) o
  34.         //连接mysql,数据库- r9 u# F7 Q9 ?: P) K3 Z
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    % S% K5 t2 F; p
  36.         {
    ) V1 t  n3 _( t4 ~: i8 q3 ?5 q
  37.                 char msg[1024];
    5 [1 P& L0 z2 j* i3 _7 h/ J) u
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));7 k7 W" T/ Y# G+ v& V
  39.                 uc1601(msg, 1);2 j$ _. j; v# Z/ H6 T( j# d4 Z
  40.                 return false;& d- ~" d; t+ k+ o& G
  41.         }
    ; w# W  S2 v# W+ N4 r  v: @
  42.         else
    - E: I! d! C$ @6 u
  43.         {
    ( |3 S, M6 a9 }  T3 p" A* f
  44.                 uc1601("数据库连接成功", 0);
    3 ^& k9 N7 [/ o' Y$ ]
  45.                 return true;
    ( ^; U/ w/ R% s, h
  46.         }1 g+ s3 b3 N6 |- Y' p7 h# T, q. [
  47.         2 s2 Q. L7 Y- c1 `1 P( O  ~* a
  48. }
    6 Q: Y/ d9 A" `8 f& M8 R/ d% p
复制代码

3 m6 L! J( C# V$ y* e9 }. ?  t
3 V  F/ @# e, |: L: V
6 r# b2 u) s4 n6 c! n% ]* t3 mMySQL 链接数据库的方法,出现乱码,注意设置字符集
9 b5 u, R7 |' Y; x 11.png / l7 A( O9 x: S

" [: l/ g" ~3 i: i3 L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了