Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта 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
Сообщения
22
Реакции
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, Соз"}

Подскажите как можно поправить?
 

Morgan

Модератор
Команда форума
Регистрация
24 Сен 2019
Сообщения
940
Реакции
12
Баллы
52
Адрес
города крутых Модераторов
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Мож кодировку добавить надо utf8 ?
 

Morgan

Модератор
Команда форума
Регистрация
24 Сен 2019
Сообщения
940
Реакции
12
Баллы
52
Адрес
города крутых Модераторов
Пол
Мужской
Семейное положение
Свободен(а) как ветер

Ropedann

Пользователь
Регистрация
5 Фев 2019
Сообщения
22
Реакции
0
Баллы
19
А как через код поставить utf-8?
 

Morgan

Модератор
Команда форума
Регистрация
24 Сен 2019
Сообщения
940
Реакции
12
Баллы
52
Адрес
города крутых Модераторов
Пол
Мужской
Семейное положение
Свободен(а) как ветер
Назад
Сверху Снизу