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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
  1. 8 S# `2 o4 K1 A+ M
  2. MySQLConnect::MySQLConnect()
    + s4 M! X1 D% A# x! h
  3. {
    3 Y  U; Z; I0 M; }' Z6 ^% k

  4. + L! D! x3 W* _3 b9 i4 J
  5.         if (mysql_library_init(0, nullptr, nullptr))& k- |% p% n* j7 d% v" t
  6.         {( g1 _5 G) C+ k9 a8 d
  7.                 uc1601("CAPI初始化失败", 1);
    6 p$ m: ?+ B! B  U0 u
  8.         }$ i  J, X! W: c) x+ \
  9.         if (mysql_init(&mysql) == nullptr)( u- J# f% G, V- S+ u
  10.         {
    # D3 ~0 S1 C9 t7 x5 y
  11.                 uc1601("初始化数据库变量失败", 1);7 N4 H+ V1 g; P4 X# \  z
  12. 8 R9 z6 y% N& S* d
  13.         }* u4 h  Q6 H3 W% N' r* A$ S  E2 Q
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))0 _& c  F, g2 m& [+ I& N
  15.         {
    ' b9 d! }$ Q# S7 C5 O# O6 c7 z- {7 g
  16.                 uc1601("设置连接选项失败", 1);' l% G0 y! J# r) U, H
  17.         }- D4 Q  L" F9 |% Z* z+ y
  18. }
    , i; u5 ?: u8 V( W7 F  b
  19.   ~% @, M8 U& X- P, Y
  20. bool MySQLConnect::ConnectDatabase()
    ; Q+ G( m* P& z# u) Q- d8 g- P
  21. {
    , S, w; ?, y4 C* s
  22.         //初始化mysql
    , N. _9 @: A6 z; h+ D7 H3 X

  23. , ?1 j/ D7 O# \$ o5 j& Z- x
  24.         mysql_init(&mysql);   7 v7 F: n! X2 `, d3 s. H- j
  25. % d% p" B$ v7 F* k7 M4 q
  26.         //这个非常重要,否则打印出现乱码" x9 ?, m3 |* `0 q3 I
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    4 i- j6 w4 i1 l4 l1 U! K$ v6 {4 D' m
  28.         {
    % {% a5 [) E# t
  29.                 char msg[256];
    $ ?: t6 g! r' g, M9 N
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));# B6 b# v6 N1 }
  31.                 uc1601(msg, 0);& J3 d# Z% f7 k2 P% F
  32.         }
    % m* K/ y+ }# x. D# Q2 Z' s3 t
  33.         + K% h7 v  a! d/ M. ~7 A  `
  34.         //连接mysql,数据库
    0 k/ e; U# j2 R! @. e
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    ) h* _7 p0 n3 p( Z" M
  36.         {) [( G2 n; @' B
  37.                 char msg[1024];& d, ?5 S/ D; _5 n) K& B
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));) _7 b: H/ a3 v$ K) h; E& a
  39.                 uc1601(msg, 1);
    4 V1 K% N1 c$ E
  40.                 return false;- C6 V) `# H- |( s4 F
  41.         }
    8 o0 U2 H6 @% {
  42.         else
    + P; }$ W+ c9 G) O, @
  43.         {3 s# e0 ^5 w, `, \" I3 q7 r" P
  44.                 uc1601("数据库连接成功", 0);
    . H) m! B3 E. C& Z0 ^# H. K1 a
  45.                 return true;
    + K& N3 j- X! Q$ m9 }% o
  46.         }3 o; q3 f1 u, n# e
  47.        
    ) ]4 d* a* e2 J7 N
  48. }
      G, _9 j* D9 Z6 d- c( e' h
复制代码
1 q- j$ z3 f1 L# U. C& w
  K  g/ y/ H9 M- [
0 g& p3 `2 I5 K2 p( e7 k
MySQL 链接数据库的方法,出现乱码,注意设置字符集1 o/ `: D( A. e& s5 [' O3 r9 f
11.png
2 ^3 K  l, ~3 [; Y" o. q$ ~; m9 D! ]0 ~3 j0 S, H, L) ?& f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了