c++用utf8字符写mysql数据库
C++ write to mysql databasein utf8 characters?
我想用以下代码向Mysql数据库发送数据:
#include "StdAfx.h"
#include <iostream>
#include "my_global.h"
#include "mysql.h"
#pragma comment(lib, "libmysql")
#pragma comment(lib, "mysqlclient")
using namespace std;
MYSQL *connection, mysql;
MYSQL_RES *result;
MYSQL_ROW row;
int query_state;
int main()
{mysql_init(&mysql);
//connection = mysql_real_connect(&mysql,"host","user","password","database",0,0,0);
connection = mysql_real_connect(&mysql,"localhost","testc++","mypassword","testc++",0,0,0);
if (connection == NULL)
cout << mysql_error(&mysql) << endl;
else
cout << "connection established" << endl;
mysql_query(connection, "CREATE TABLE writers(name VARCHAR(25))");
mysql_query(connection, "INSERT INTO writers VALUES('攻殻機動隊')");
mysql_query(connection, "INSERT INTO writers VALUES('ブルージェンダー')");
mysql_query(connection, "INSERT INTO writers VALUES('Honore de Balzac')");
mysql_query(connection, "INSERT INTO writers VALUES('Lion Feuchtwanger')");
mysql_query(connection, "INSERT INTO writers VALUES('Emile Zola')");
query_state = mysql_query(connection, "select user_count()");
if (query_state !=0) {
cout << mysql_error(connection) << endl;
mysql_close(connection);
cin.get();
// This code disconnects the mysql connection.
mysql_free_result(result);
mysql_close(connection);
return 1;
}
我遇到的问题是,日本图标被保存为????而不是"我该如何解决这个问题?我用的是visual studio 2010
您是否将mysql字段中的字符编码设置为UTF8,还是不支持国际字符的latin1。
你可以这样设置字段编码:
"CREATE TABLE writers(name VARCHAR(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci)"
编辑1
如果这不是解决方案,这可能是visual studio的问题,可以这样解决:
wchar_t query_string = L"INSERT INTO writers VALUES('攻殻機動隊')";
你将需要使用一个转换器将' class2 '转换成unicode字符串,例如这里的
我选择了UTF=8的,但我没有办法知道这些是否正确或如何使用它们,您需要通过跟踪和错误找出哪一个是正确的序列。
为了让你的生活更轻松,这里有一个库的链接,它可以为你做所有这些。
来源在这里
相关文章:
- 无法在C++中建立与MySQL数据库的连接
- 在装有 CLion 的 Mac 上使用 C++ 连接到 MySQL 数据库时出现问题
- Qt5 从 MySQL 数据库中选择数据
- 如何使用 QT 和 C++ 侦听 mysql 数据库中的触发事件?
- 我不能使用 mysql 数据库连接同时使用插入和选择.C++
- 我正在尝试构建一个简单的程序来从 mysql 数据库中读取信息
- QT MySql 数据库检查登录名和密码以登录
- 尝试使用帖子将数据添加到我的MySQL数据库中
- 如何将MySQL数据库连接到Ubuntu上的C
- 使用连接器 c++ 访问 MYSQL 数据库(如何将路径添加到我的标准搜索目录)
- 任何人都知道如何解决尝试将从MySQL数据库返回的行打印到文本文件(.txt)中的C++
- 我正在使用 mysql-connector-c++ 1.1.9,但我想通过套接字而不是 tcp 连接到 mysql 数据库
- 连接拒绝从C 驱动程序到MySQL数据库
- 如何使用C (Ubuntu)连接到MySQL数据库
- 正在尝试将远程MySQL数据库连接到Visual Studio 2010 Pro(C++)
- 如何缓存从MySQL数据库创建的对象
- 我的 c++ 程序是否会从世界各地的计算机(在我的局域网之外)连接到本地 MySQL 数据库
- MySQL数据库连接到一个c++win32项目
- 使用C++从MySQL数据库获取字符串时编码错误
- Cocos2dx C++将游戏数据发送到远程服务器上的MySQL数据库