mysql c++ 亂碼 解決方法

C++ 讀寫Mysql 數據庫時,總是亂碼, 數據庫編碼爲  UTF8, C++客戶端如果設爲UTF8時,就是亂碼,但C++客戶端如果設爲GB2312時,就沒問題了。

原因再研究,如果有哪位大拿知道原因,還請告訴下大笑


int SCmysql::ConnMySQL(char *host, char * port, char * Db, char * user, char* passwd, char * charset, char * Msg)
{
	if (mysql_init(&mysql) == NULL)
	{
		Msg = "inital mysql handle error";
		return 1;
	}

	if (mysql_real_connect(&mysql, host, user, passwd, Db, 0, NULL, 0) == NULL)
	{
		Msg = "Failed to connect to database: Error";
		return 1;
	}
	//mysql_query(&mysql, "SET NAMES GB2312");

	if (mysql_set_character_set(&mysql, charset) != 0)
	{
		Msg = "mysql_set_character_set Error";
		return 1;
	}

	return 0;
}

mysql_query(&mysql, "SET NAMES GB2312");

mysql_set_character_set(&mysql, charset)

連接後,設置下編碼即可。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章