程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C/C++中調用api設置mysql連接的編碼方式

C/C++中調用api設置mysql連接的編碼方式

編輯:關於C語言

mysql在C/C++中調用api設置連接mysql的編碼方式有以下幾種方法:

1. mysqli_set_charset
調用示例:

[cpp]
ret = mysql_set_character_set(mysql, "utf8"); 

ret = mysql_set_character_set(mysql, "utf8");說明:
推薦使用的設置方法,與mysql的連接斷開自動重連後仍能保持設置的編碼格式,並且影響mysql_real_escape_string函數功能,使mysql_real_escape_string函數使用設置的編碼格式轉義字符串。
但該函數在mysql5.0.5版本以後才支持,故版本太低者...。
2. 執行sql語句:SET NAMES
調用示例:
[cpp]
ret = mysql_real_query(mysql, "SET NAMES UTF8;",  
 (unsigned long) strlen ("SET NAMES UTF8;")); 

ret = mysql_real_query(mysql, "SET NAMES UTF8;",
 (unsigned long) strlen ("SET NAMES UTF8;"));說明:
使用sql語句執行,只能影響當前與數據庫的連接,斷開自動重連後編碼格式會重置為默認的配置。
3. 設置MYSQL_SET_CHARSET_NAME屬性
調用示例:
[cpp]
ret = mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "utf8"); 

ret = mysql_options(mysql, MYSQL_SET_CHARSET_NAME, "utf8");說明:
跟mysql_set_character_set類似,斷開自動重連後仍能保持設置的編碼格式,只是不會影響到mysql_real_escape_string函數。
並且在mysql5.0.5版本都可以使用,低版本可以使用該方法代替。
需要特別說明的是只有在調用mysql_real_connect連接數據庫之前修改該屬性才會生效。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved