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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. 6 ?% f) X% }$ d" }# T
  2. MySQLConnect::MySQLConnect()
    " s. u% u! P( E6 q. P/ z4 x
  3. {
    1 S/ {( L2 q1 U# f( x7 V

  4. 7 v: ?$ e" D! C3 v/ |4 Z8 d$ N
  5.         if (mysql_library_init(0, nullptr, nullptr))( f% q+ i! i/ {
  6.         {; h8 Z# J5 ?0 }2 j8 F
  7.                 uc1601("CAPI初始化失败", 1);
    4 i0 z  e- a% T: M
  8.         }  o+ Y* m1 x, I& ~' T: z, |6 p
  9.         if (mysql_init(&mysql) == nullptr)
    9 i+ G$ z; L$ I9 y  c
  10.         {  k  X5 `7 H4 |8 ^
  11.                 uc1601("初始化数据库变量失败", 1);
    # [4 l, y' t7 ]% Z) Z* Q
  12. + m3 s9 H8 |2 G2 X# e* S0 `4 `
  13.         }
    - ^9 A! b9 G' @* h& w
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    % d+ @! I( v/ P" L2 l# {' n) S
  15.         {
    1 _( p: N# P" r6 w( N
  16.                 uc1601("设置连接选项失败", 1);
    0 ?6 ?5 q+ E) S
  17.         }; k: d3 m/ \' R, C7 v/ U. w
  18. }+ {" _0 I# i6 O# D
  19. " `- Q, X3 w0 t
  20. bool MySQLConnect::ConnectDatabase()
    # B' y# h% ~5 a. k
  21. {3 h8 y. z* S7 K. v
  22.         //初始化mysql4 k  Y4 I! q' ^

  23. / ~6 F1 S! V0 j+ P
  24.         mysql_init(&mysql);   - s5 `: }) p, {* T4 {; O

  25.   I# A) p. M2 A" O0 M6 F$ u
  26.         //这个非常重要,否则打印出现乱码, U5 m- b! E8 `! c) r. J* Y
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    " i& F5 d) s, z4 P: O
  28.         {
    0 |9 b3 w( W2 q" G: M8 q9 l
  29.                 char msg[256];9 t  d: @! Q2 l7 C' V' c  Q* a
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    ) o9 b$ ~$ s0 n; R7 b
  31.                 uc1601(msg, 0);9 Y8 c8 r/ ?" t% O; ?
  32.         }
    0 N5 q9 U. V! D  I% I, f( p
  33.        
    ( ]2 o7 E: S  @
  34.         //连接mysql,数据库+ Z  c5 \5 j, l8 V% |8 w- I
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) , O9 \2 G2 @! [
  36.         {+ m  L$ m+ a& P0 I$ K, Z3 s9 j
  37.                 char msg[1024];
    ; a- H( Y# j0 N6 Y! B9 g: H8 n! b
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));
    7 z. T* E+ O; Y$ O: Q$ i) J1 U# ?
  39.                 uc1601(msg, 1);! i6 i8 @! ?2 \8 O
  40.                 return false;
    # k: Q" y7 C) k0 T
  41.         }
    , k8 C; ~; e' a! o/ s; K
  42.         else( R3 }6 [0 V3 O; ~
  43.         {
    : ^( o/ ]- C  w
  44.                 uc1601("数据库连接成功", 0);5 I4 K1 N. n6 w3 v! s. ?9 N
  45.                 return true;% R3 h( j/ G) S5 Q5 c( @
  46.         }
    3 Z; P' ^, G7 u& Z0 O2 G, S
  47.         $ D3 j# u; h4 O! u6 D% B: x9 h2 O
  48. }4 p. A) u8 D) E" t* {5 U3 B
复制代码
' ]" P! D! P+ F+ I
2 B' X. D8 |' R5 v
9 L% G8 O. x& _7 f
MySQL 链接数据库的方法,出现乱码,注意设置字符集
& e( Z# j7 S* V3 k& t9 e 11.png
. f/ r# j. u8 Q: [+ ]$ K3 c; L. `+ \0 S* N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了