程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++ 操作mysql字符集設置,mysql字符集

C/C++ 操作mysql字符集設置,mysql字符集

編輯:C++入門知識

C/C++ 操作mysql字符集設置,mysql字符集


Linux下,當我們用mysql c api 去操作mysqldb的時候,默認情況下,程序會以Latin1這種字符集去進行sql操作,這種情況,很可能就會出現亂碼,

比如,數據庫設置的字符集是utf8, 然後我們通過程序向其中插入一條記錄,然後我們去查詢的時候,就會出現亂碼。

為了解決這個問題,我們可以調用 int mysql_set_character_set(MYSQL *mysql, const char *csname) 這個函數,去對每一個到mysql的連接設置對應字符集,就可以解決亂碼問題。例如下代碼:

MYSQL mysql;   mysql_init(&mysql); if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0)) {     fprintf(stderr, "Failed to connect to database: Error: %s\n",           mysql_error(&mysql)); }   if (!mysql_set_character_set(&mysql, "utf8")) {     printf("New client character set: %s\n",            mysql_character_set_name(&mysql)); }

  有時候,當我們直接在mysql客戶端去進行sql操作的時候,為了解決亂碼問題,一般在執行一條sql語句之前,都會執行:set names ***,

這個函數mysql_set_character_set() 跟set names *** 這條語句的作用是一樣的。

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