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

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. * F8 M5 Q6 ?( M( V
  2. MySQLConnect::MySQLConnect()( l& u* R+ J! _( Y
  3. {
    & Y0 A8 M5 @( p

  4. " A/ W% x8 @0 \- b& r
  5.         if (mysql_library_init(0, nullptr, nullptr))
    ( m% C' x2 @5 v$ f8 E) a
  6.         {. n$ ^& r) w, N! X/ x
  7.                 uc1601("CAPI初始化失败", 1);7 H" r7 |$ d4 L: M
  8.         }
    . V) q3 m2 [0 _8 [% d
  9.         if (mysql_init(&mysql) == nullptr)
    ) N: B: _1 x& ^# t9 V
  10.         {
    0 s7 U3 |3 x" W+ u# b. c( v
  11.                 uc1601("初始化数据库变量失败", 1);
    ' j. _. p7 a, W# h9 W
  12. % ~. Y3 b3 `% S- N' i3 f
  13.         }
    9 `5 }+ D  u, B  T: {1 Z4 q) c
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    9 F$ z# @/ g" y9 W% e1 i
  15.         {
    6 x6 Z7 \1 ?1 m0 ?: L7 ?7 A
  16.                 uc1601("设置连接选项失败", 1);5 Z, ^1 l- v" S5 R5 G; M* K* p
  17.         }: ]6 a; M  A2 B" h! V% r
  18. }, M5 g/ n9 X: j: v

  19. & G: j# r5 c  m8 _! W
  20. bool MySQLConnect::ConnectDatabase()
    2 I, l" O, P& c
  21. {
    , o  s4 F2 Z9 @- s6 A9 R
  22.         //初始化mysql+ b9 ^& `2 {0 u( s
  23. * w, ^' X4 y! i% @6 s3 G
  24.         mysql_init(&mysql);   8 B- D. Z( `" ^) e- t0 z

  25. ! z: Y# S7 B: i7 B
  26.         //这个非常重要,否则打印出现乱码% |+ Q6 h( f9 s( {: \
  27.         if (!mysql_set_character_set(&mysql, "gbk"))
    9 [! g) h& |+ ?. o7 \6 p' e
  28.         {4 ?" l0 L' u  |) F5 p/ ?
  29.                 char msg[256];
    " R+ k8 r1 X3 W$ y" ^
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));
    ) p! q/ g0 x, G9 c
  31.                 uc1601(msg, 0);' C/ O+ C1 z) M# S8 k, `: O
  32.         }1 c8 m! k' X' P. \
  33.        
    3 E( ^" s0 O$ ?- h# [5 D3 _
  34.         //连接mysql,数据库) a" u  I; s4 ?' x9 l
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0)))
    4 L6 [4 Z+ r$ M& M# f/ S
  36.         {1 C& D, V3 U# `. d) z9 p( d
  37.                 char msg[1024];; Z6 j& O+ y' O0 M8 H7 a9 H
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));* i/ |+ b$ E% ?3 g- B) ?6 ?
  39.                 uc1601(msg, 1);
    & A1 {6 a8 A# z
  40.                 return false;
    & {# E* P7 }" q2 G9 p6 A
  41.         }# S4 U+ H0 f8 c1 r! ?
  42.         else
    # q" L- y- A( U3 g7 \
  43.         {
    % ^7 }3 X7 c( m4 h- E0 O
  44.                 uc1601("数据库连接成功", 0);
    3 \. C! W9 r" m* _  \
  45.                 return true;
    / k, F" [# o) u" S) g9 I* q' {
  46.         }
    ! ]- X' H7 H6 R/ s8 B: T
  47.        
    " D7 k9 |8 u- E0 N/ z  E
  48. }
    2 P$ ^. L+ L. |; z% h! H, k9 l( ]
复制代码
2 a  \! K' X( t1 i
; {# R5 K! H9 t4 u
0 F, y+ @/ r: l- J: v+ I
MySQL 链接数据库的方法,出现乱码,注意设置字符集  Q2 Q9 |" m# H+ f: p/ D# A
11.png
* D) g" i. N8 s% ~* U% Z$ ]7 v/ ]; r( `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了