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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
  1. , I0 t/ K7 [# @9 @0 Q* f: ^
  2. MySQLConnect::MySQLConnect()
    ( e5 R1 [3 C+ o
  3. {
    3 I6 s" s5 @3 c$ q- H$ {( x

  4. ! B$ W" C1 D+ i; E8 i
  5.         if (mysql_library_init(0, nullptr, nullptr))
    . x  b- u. |0 X; Q& t
  6.         {/ [/ ]& _: l2 z1 m. |  F
  7.                 uc1601("CAPI初始化失败", 1);
    ' t6 ]( Q  O' d9 J  n$ J* F4 J3 v2 p
  8.         }
    0 l  m6 f7 t3 Y: t) f$ d. K5 E
  9.         if (mysql_init(&mysql) == nullptr), v6 Z# `* R- E
  10.         {2 H- G- p1 r& }, B( t" l5 ?
  11.                 uc1601("初始化数据库变量失败", 1);
    # m" c' ~3 K8 F
  12. 9 A9 k, r, b. \% _% J
  13.         }
    $ Y. V" u- j" `
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    $ S- w- k8 y9 D4 V- V* F$ P1 w: r
  15.         {; f6 w* s5 d! k! U7 R6 i4 ~! A
  16.                 uc1601("设置连接选项失败", 1);$ W4 o! m! R5 l/ M9 ]7 j1 N
  17.         }* B  p3 s! _3 O" N; K* k6 _
  18. }
    " H; w; I) O$ g) y3 l
  19. ) p3 A3 O7 w: f1 L) ~4 S
  20. bool MySQLConnect::ConnectDatabase()8 K" v. j. o( P1 P
  21. {9 m' F+ [( [- Q
  22.         //初始化mysql
    * B& H# i, c. c. s

  23. + s; M3 N! R( @7 Q1 Q
  24.         mysql_init(&mysql);   
    # e) }4 u. C3 d9 S
  25. 7 S# Q0 l6 Z. G9 n( ^# p3 v% b$ d
  26.         //这个非常重要,否则打印出现乱码
    % b1 Y+ |, |, U/ P3 m3 R
  27.         if (!mysql_set_character_set(&mysql, "gbk")); Z9 K; F/ @: {+ L
  28.         {; _9 V0 A2 m2 u, i% U
  29.                 char msg[256];/ \9 ]( Q! M" `, |: C
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));& v/ y1 j3 D5 X
  31.                 uc1601(msg, 0);
    / ^9 C& Q+ D" P+ O( ?/ e; d
  32.         }* P+ \7 x' R* J/ B3 o
  33.        
    2 f+ @6 \% n# K
  34.         //连接mysql,数据库
    3 z& ?! h4 f8 [( ~
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    & h7 d4 i/ b4 \8 v) j* N! e
  36.         {
    1 ?. K1 E( n, ^6 X) Y9 a
  37.                 char msg[1024];6 @  C+ J) [( E8 \  X
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));) ?$ O$ i* {4 Y% w: I
  39.                 uc1601(msg, 1);" [- C+ H) z1 N: V6 {
  40.                 return false;% R" X" [( X8 P5 T( e- E! N1 O
  41.         }
    ! w8 a2 E( m; q% N
  42.         else; e$ K# J" |! f! G1 R6 Q& r  U
  43.         {
    ' _- x5 [2 k( H& I' g; ~2 x! q
  44.                 uc1601("数据库连接成功", 0);
    + V( P* d0 T2 I
  45.                 return true;
    , @: }3 m- D; l8 l4 C
  46.         }
    , {4 ]' q( Y) \. ~, x
  47.         , x: F- _7 w. |
  48. }
    # {2 I9 c3 [+ J
复制代码
0 w, A# z/ B/ r; J
! L8 n' }/ }# ?  i

; \0 A# F3 ]  L; wMySQL 链接数据库的方法,出现乱码,注意设置字符集0 `/ m8 X7 H8 d9 ~3 @7 L. i" w
11.png
! g2 L) x4 r! w" c$ B/ R" d1 j9 Q& P! F2 S8 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二次开发专题模块培训报名开始啦

    我知道了