Сохранение с иероглифами

Carbonarik

Участник
Автор темы
31
1
У меня такая проблема,я сохраняю тест из поле ввода в ini файл но текст сохраняется не в нужной кодировке 1251,на выходе там иероглифы какие то,как решить?
код:
                if imgui.InputText(u8("Ник"), binder_name) then
                    cfg.Settings.nick = encoding.convert(binder_name.v, 'UTF-8', 'Windows-1251')
                    inicfg.save(cfg, 'Ministr Helper.ini') -- Сохранение настроек
                end
            end
 

kyrtion

Известный
657
242
Немного не понял как это использовать
Например, для использования в имгуй на вывод текста:
imgui.Test('hello привет -- wincp1251')
imgui.Test(u8'hello привет -- encoded to utf-8')

А чтобы перекодировать переменную, то:
local str = 'привет hello'
print(str, u8(str))

И да, если в переменную окажет nil, то выдает ошибка из-за отсутствия символов в процессе перекодировки

Но убедитесь, что у тебя на скрипте стоит кодировка Windows 1251, но не UTF-8
 

Carbonarik

Участник
Автор темы
31
1
Например, для использования в имгуй на вывод текста:
imgui.Test('hello привет -- wincp1251')
imgui.Test(u8'hello привет -- encoded to utf-8')

А чтобы перекодировать переменную, то:
local str = 'привет hello'
print(str, u8(str))

И да, если в переменную окажет nil, то выдает ошибка из-за отсутствия символов в процессе перекодировки

Но убедитесь, что у тебя на скрипте стоит кодировка Windows 1251, но не UTF-8
Решение нашел,просто надо было использовать u8:decode