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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x

  1. $ \  u5 M2 U4 u$ K- i
  2. MySQLConnect::MySQLConnect()/ \/ @% k# N, H7 S, d' |
  3. {
    + G0 a1 ~# S3 v$ N& N' U
  4. . O" K  c3 A# O5 f0 z. N
  5.         if (mysql_library_init(0, nullptr, nullptr))
    * ^/ m) [; _8 Q% q1 \
  6.         {* B* o) l1 U$ d9 t" F
  7.                 uc1601("CAPI初始化失败", 1);1 E6 n! I- W; g2 f# \
  8.         }
    1 o& X: ?0 J6 s. p/ h' O( w/ |
  9.         if (mysql_init(&mysql) == nullptr)# f. p3 n* n8 [. s0 F' J7 ~
  10.         {- ~2 B% Q. b& M$ f4 E$ X
  11.                 uc1601("初始化数据库变量失败", 1);
    4 \4 d4 T4 }$ X2 X
  12. . X) ^! d9 ^8 d" `0 C
  13.         }. I! z1 I# m( z$ {6 Z
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    , K7 i  U+ F1 ~. O
  15.         {
    7 ~% b1 D8 i1 h
  16.                 uc1601("设置连接选项失败", 1);
    % C/ T9 l0 J. h* n! B
  17.         }' r7 x* a- _0 b* f. r1 H
  18. }
    2 [' Y9 L' C+ y! _  c

  19. ! T/ a3 ?" m5 a& m0 N/ r/ b
  20. bool MySQLConnect::ConnectDatabase()
    7 r& F! Y; `' {' y9 e
  21. {
    , E" i0 o/ h3 ~. N% p( s
  22.         //初始化mysql
    7 i7 M+ {2 R4 V- p( [

  23. & O! N9 n1 m) r% r
  24.         mysql_init(&mysql);   ; k* _9 ?" O4 V) i* U5 v
  25. 3 a, s7 N1 S! v4 x
  26.         //这个非常重要,否则打印出现乱码
    & h" l& G% @. c  F7 I3 E# M2 V5 c" V
  27.         if (!mysql_set_character_set(&mysql, "gbk"))" l3 l2 w2 `* e6 x* _% A$ F1 o
  28.         {+ ?7 O% {) b( Y5 Y$ R8 r" z
  29.                 char msg[256];
    . u& _) r% w3 E. t, i5 `
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));& d% c3 s0 F* f: f- \3 {
  31.                 uc1601(msg, 0);
    2 `  R1 j& I- R! q0 H5 j# @$ [8 ?
  32.         }
    , f3 y% G; u3 F# T+ [
  33.        
    % z4 ]2 o8 m! H. Z
  34.         //连接mysql,数据库
    + u9 }+ N; o* U; R" j2 `0 r
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) - ~* y& e. J8 [( E2 c/ q
  36.         {3 t  l6 t! K1 s0 G! I0 o
  37.                 char msg[1024];
      x5 k: R1 \9 l
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));% {: G9 p$ o  a# P3 [
  39.                 uc1601(msg, 1);: I/ Q$ s4 X8 p* G# ?* ~/ d
  40.                 return false;, x/ ^1 M7 J+ Y4 d& d$ X3 T! ~
  41.         }
    * ?8 \* |' e4 Q
  42.         else
    2 l$ r1 H6 a2 C6 `
  43.         {) ^9 g* K  |* \0 h; o
  44.                 uc1601("数据库连接成功", 0);" |! O  R( }1 O
  45.                 return true;) G7 ?- w5 ^5 B8 y
  46.         }7 x* V# U1 v; O8 T5 Q; c7 _% T
  47.        
    3 R* x! L. k% x! J) o$ R  m
  48. }* }% X" \) {# B* ^; Q
复制代码

5 z' @5 ?; A% D2 K/ V. i5 N& o8 w, R# n2 A" E
, ]( a1 P9 q# @
MySQL 链接数据库的方法,出现乱码,注意设置字符集
- Z$ G) [/ W2 F* |0 n 11.png 1 M5 s, B" q: ^+ B& j

# o: b6 O: e3 K4 ^9 v4 l7 p
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了