MySQL, Connector / C ++ Как установить кодировку
Всем добрый вечер! Снова вопрос по коннектору. База данных в кодировке utf8_general_ci таблицы в кодировке utf8_general_ci программа использует набор символов юникод. Но в таблицах хранятся данные латинскими буквами. При отработке программы в консоль сыпятся кракозябры.
В пхп это решается тремя строчками кода. например
$mysqli->set_charset('utf8');
$mysqli->query("SET NAMES utf8");
$mysqli->query("SET CHARACTER SET utf8");
А как задать нужную кодировку используя MySQL, Connector / C ++ ?
Вот код программы:
#include <stdlib.h>
#include <iostream>
#include <string>
#include <mysql/jdbc.h>
using namespace std;
int main()
{
try {
sql::Driver* driver;
sql::Connection* con;
sql::Statement* stmt;
sql::ResultSet* res;
// Create a connection
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "root");
// Connect to the MySQL test database /
con->setSchema("crm");
stmt = con->createStatement();
res = stmt->executeQuery("SELECT id, name, company FROM users");
while (res->next()) {
cout << res->getInt("id") << " " << res->getString("name").c_str() << " " << res->getString("company").c_str() << endl;
}
delete res;
delete stmt;
delete con;
}
catch (sql::SQLException& e) {
}
return EXIT_SUCCESS;
}