c++插入数据到mysql数据库中

您好,我的问题是,我在键盘输入的值,到了函数中执行的语句却变成了乱码,麻烦各位兄弟帮帮忙

void Mysql::Delect()
{
    int n;
    string id{}, clas{}, name{}, sum{}, time{}, price{}, sumprice{};
    delect_menu();
    cout << "请按键输入选择你要删除的表:" << endl;
    cin >> n;
    system("cls");
    switch (n)
    {
    case 1:
        cout << "请依次输入需要删除的输入设备编号,设备类别,设备名称,设备总数量,购买时间,单价,总价格分别用空格隔开" << endl;
        cin >> id >> clas >> name >> sum >> time >> price >> sumprice;
        Mysql::Delect_1(id, clas, name, sum, time, price, sumprice);
        cout << "请按任意键返回主菜单" << endl;
        cin >> n;
        Mysql::user_choice();
    case 2:

        cout << endl;
        cout << "请按任意数字返回主菜单" << endl;
        cin >> n;
        Mysql::user_choice();
    case 0:
        Mysql::user_choice();
    default:
        printf("输入错误,请重新输入:");
        system("pause");
        Mysql::Delect();
    }
}

bool Mysql::Delect_1(std::string id, std::string clas, std::string name, std::string sum, std::string time, std::string price, std::string sumprice)
{
    char sql[MAXLENGTH];
    strcpy_s(sql, "set names gbk");
    snprintf(sql, MAXLENGTH, "delect from 设备表 where id = %s, clas = %s, name = %s, sum = %s, time = %s, price = %s, sumprice = %s", id, clas, name, sum, time, price, sumprice);
    cout << sql << endl;
    if (mysql_query(mysql, sql))
    {
        cout << "Query Error: " << mysql_error(mysql) << endl;
        return false;
    }
    else
        cout << "删除成功!" << endl;
    return true;
}

这有可能是编码的原因,你需要把它改成utf-8试试。