PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2023-3-6 11:42:58

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

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

x
  1. , W' _3 M6 g; u
  2. MySQLConnect::MySQLConnect()
    ) q+ d" z+ z  d# d* G' f. e$ P+ f
  3. {" d# ?' H/ Z5 E! m9 s
  4. ! E( H- \; |$ A" o9 a2 M
  5.         if (mysql_library_init(0, nullptr, nullptr))- O6 H/ d0 a9 u" g
  6.         {
    ) M1 ]' y: F7 A" T
  7.                 uc1601("CAPI初始化失败", 1);
    " `' U' M: C0 k" D& D2 m5 X" |2 \
  8.         }
    7 L2 u6 @' e  b
  9.         if (mysql_init(&mysql) == nullptr). E9 b/ f" p0 f3 {6 V! b6 M* i" Y
  10.         {3 e* G& q# L: L
  11.                 uc1601("初始化数据库变量失败", 1);) \' Z6 b. d. E$ O

  12. - m( d* }! ^, m
  13.         }1 f+ t1 c' V# G0 a5 }* c
  14.         if (mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk"))
    4 s0 j; j6 u: n, w
  15.         {
    8 m5 R9 }- N8 M. {. J  G* Z4 d
  16.                 uc1601("设置连接选项失败", 1);
    - B  I; Y% j4 f" ~' N5 I
  17.         }& N% e, B3 m) {/ O, o( p4 b9 h) l% F) s
  18. }( @6 Z) K* U- T& G- H

  19. 2 x) B2 S3 I1 a  x
  20. bool MySQLConnect::ConnectDatabase()
    0 l- R# t  H% d
  21. {
    + r" J& {- {3 @  t
  22.         //初始化mysql
    & |7 a/ R# m" ]0 ^; H

  23. * O, e/ m' d% G
  24.         mysql_init(&mysql);   
    7 `- U; G2 z/ m5 l. N' c0 r

  25. $ r! o+ H# u( e( i0 [" {
  26.         //这个非常重要,否则打印出现乱码* z( ?2 {$ V# _1 y
  27.         if (!mysql_set_character_set(&mysql, "gbk"))) K4 C+ D2 m* ^8 o. q% t% Z7 p9 n
  28.         {
    % e5 L0 @! x% l% v5 E7 ]( X/ {# X5 `
  29.                 char msg[256];
    + }& v, K; y: \0 G
  30.                 sprintf_s(msg, "Charset for the connection : %s\n", mysql_character_set_name(&mysql));+ H" |1 s9 ^/ K& U" Z# ^
  31.                 uc1601(msg, 0);+ V& t+ K8 H! _$ a3 {
  32.         }6 h8 Q. Y" ?. x8 P+ C
  33.        
    8 n) c6 x# A$ W* N0 E
  34.         //连接mysql,数据库: g8 {$ o# V+ J) c$ L' a+ g8 D9 U% a0 O8 `! u
  35.         if (!(mysql_real_connect(&mysql,MYSQL_HOSTNAME , MYSQL_USERNAME,MYSQL_PASSWORD,MYSQL_DBNAME, MYSQL_DBPORT, NULL, 0))) 2 q% c5 ^! q+ K2 d" P& A% g$ S
  36.         {
    ; |3 Z2 E2 Y$ L; j* V* Q
  37.                 char msg[1024];+ b& A* n* l4 I9 d# O! r7 B: w
  38.                 sprintf(msg,"Error connecting to database:%s\n", mysql_error(&mysql));$ ^2 ]. q+ B" D5 N- ~5 T
  39.                 uc1601(msg, 1);$ N/ ^" A3 t- |) q4 P
  40.                 return false;
    : L, g3 T; v& N/ d* m
  41.         }
    * f: x. o7 J! r" E) |
  42.         else- B" p# d& t( n; a$ @% T9 @' ~/ I, `
  43.         {: P3 Q; R0 G4 ^$ O
  44.                 uc1601("数据库连接成功", 0);/ i& V6 K& H4 L9 O; z% |
  45.                 return true;
    * X- _) t! O8 }" H& Y, z8 A* y& o
  46.         }
    ( z+ Z& B3 K+ x9 N1 J7 T! i
  47.        
    + i; u1 t/ D' W8 y" ~, j
  48. }
    : j; d+ M7 w" s2 z' l% s. c" D
复制代码
" C- i( ?" H) `( e% m+ v/ l
" o* S8 t7 {' [+ ~" `. b' p: Z2 M) d

( \' [3 C2 z; j4 c7 uMySQL 链接数据库的方法,出现乱码,注意设置字符集
) |1 H' g8 j% n* N0 W3 X 11.png   h, B8 H9 Z2 B
0 u* M" W* _+ j" t6 E. q! S. z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了