Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;以utf8字符写入mysql数据库?_C++_Mysql_Utf 8 - Fatal编程技术网

C++ C++;以utf8字符写入mysql数据库?

C++ C++;以utf8字符写入mysql数据库?,c++,mysql,utf-8,C++,Mysql,Utf 8,我想将数据发送到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; MYS

我想将数据发送到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;
}
#包括“StdAfx.h”
#包括
#包括“my_global.h”
#包括“mysql.h”
#pragma注释(lib,“libmysql”)
#pragma注释(lib,“mysqlclient”)
使用名称空间std;
MYSQL*连接,MYSQL;
MYSQL_RES*结果;
MYSQL_行;
int查询_状态;
int main()
{mysql_init(&mysql);
//connection=mysql\u real\u connect(&mysql,“主机”、“用户”、“密码”、“数据库”,0,0,0);
connection=mysql\u real\u connect(&mysql,“localhost”,“testc++”,“mypassword”,“testc++”,0,0,0);
if(连接==NULL)

cout您是否将mysql字段中的字符编码设置为UTF8,或者设置为不支持国际字符的latin1

您可以如下设置字段编码:

“创建表编写器(名称VARCHAR(25)字符集utf8 COLLATE utf8\U unicode\U ci)”


编辑1

如果这不是解决方案,这可能是visual studio的问题,可以这样解决:

wchar\u t query\u string=L“插入写入程序值('攻殻機動隊')";

您将需要转换'攻殻機動隊' 使用转换器转换为unicode字符串,例如

我选择了UTF=8个,但我无法知道这些是否正确或如何使用它们,恐怕你需要通过跟踪和错误找出哪一个是正确的序列

为了让你的生活更轻松,这里有一个链接到一个可以为你做这一切的网站


mysql字段是什么意思?在phpmyadmin中,数据库设置为:utf8\u general\u cit
varchar
字段可以设置为特定的字符编码,我的上一个项目与您的项目有相同的问题,但它们都设置为latin1,这就是问题所在。我忘记了如何做,也没有设置测试设备:(.@gijs007:
utf8\u general\u ci
是排序规则而不是编码。请确保列具有
utf8
编码,并且连接本身是
utf8
编码的(
设置名称utf8;
)。在您创建表的第一站中,我将在此处将其添加到asnwerI,但它仍将???放入我的数据库中。我还从visual studio获得一些错误:1>Source1.cpp(25):警告C4566:通用字符名“\u30FC”表示的字符无法在当前代码页中表示(1252)