• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

запись в базу

Ropedann

Пользователь
Регистрация
5 Фев 2019
Сообщения
21
Реакции
0
Баллы
19
Есть вот такой код записи в БАЗУ.
С английскими символами работает хорошо. но когда начинаешь записывать русские получается не очень хорошо.

Lua:
function core.sql:NewCharacter(character)
    self:CheckDataTable();

    local owner_id = character.owner_id;
    local attributes = character.attributes;
    local vars = character.vars;
    
    attributes = util.TableToJSON(attributes);
    vars = util.TableToJSON(vars);

    local query_string = [[INSERT INTO `char_base` (`steamid`, `attributes`, `vars`) VALUES (
            ]]..sql.SQLStr(owner_id)..[[,
            ]]..sql.SQLStr(attributes)..[[,
            ]]..sql.SQLStr(vars)..[[
        );]];

    sql.Query(query_string);
    character.id = tonumber(sql.QueryValue("SELECT last_insert_rowid()"));
    core:Notify("New empty character ["..character.id.."]["..character:GetVar("name", "Gabe 1337").."] was created for "..character.owner_id);
end;

function core.sql:SaveCharacter(character)
    self:CheckDataTable();
    local tab = {};
    tab["steamid"] = character.owner_id;
    tab["attributes"] = character.attributes;
    tab["vars"] = character.vars;

    tab["attributes"] = util.TableToJSON(tab["attributes"]);
    tab["vars"] = util.TableToJSON(tab["vars"]);

    local query_text = "";
    for k, v in pairs(tab) do
        query_text = query_text .. " `"..k.."` = "..sql.SQLStr(v)..",";
    end;
    query_text = string.sub(query_text, 1, -2);

    local query = sql.Query("UPDATE `char_base` SET "..query_text.." WHERE `id` = "..character.id..";");
    core:Notify("Character ["..character.id.."]["..character:GetVar("name", "Gabe 1337").."] saved ");
end;


[Как должно было быть]

JSON:
{"gender":"male","registred":true,"model":5.0,"name":"Василий Васильев","description":"Обычный man, 22 years old, Height 180, Weight 95, Синий eyes, Создатель"}

[Как записывает]

JSON:
{"gender":"male","registred":true,"model":5.0,"name":"Василий Ва�","description":"Обычный man, 22 years old, Height 180, Weight 95, Синий eyes, Соз"}

Подскажите как можно поправить?
 
Главная Регистрация
Назад
Сверху