Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lua

Войти
Регистрация
Восстановить пароль
 
Механ
6 / 6 / 1
Регистрация: 08.01.2015
Сообщений: 162
#1

Lua utf8 to utf32 - Lua

22.04.2016, 13:28. Просмотров 1068. Ответов 3
Метки нет (Все метки)

здравствуйте.
работаю в ubuntu с базой данный MySql.
Кодировка Utf8.
С этой базой данный так же работает пара других приложений, и кодировку поменять уже не вариант.
Но lua не распознает Utf8.
Начал гуглить, нашел функцию, которая вроде должна конвертировать, но на выходе таблица.
Можете глянуть, что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function Utf8to32(utf8str)
    assert(type(utf8str) == "string")
    local res, seq, val = {}, 0, nil
    for i = 1, #utf8str do
        local c = string.byte(utf8str, i)
        if seq == 0 then
            table.insert(res, val)
            seq = c < 0x80 and 1 or c < 0xE0 and 2 or c < 0xF0 and 3 or
                  c < 0xF8 and 4 or --c < 0xFC and 5 or c < 0xFE and 6 or
                  error("invalid UTF-8 character sequence")
            val = bit32.band(c, 2^(8-seq) - 1)
        else
            val = bit32.bor(bit32.lshift(val, 6), bit32.band(c, 0x3F))
        end
        seq = seq - 1
    end
    table.insert(res, val)
    table.insert(res, 0)
    return res
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2016, 13:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Lua utf8 to utf32 (Lua):

LUA + C++ - Lua
Привет всем :) я чото не понимаю чо у меня выевляется ошибки luaavg.obj : error LNK2001: неразрешенный внешний символ...

Кириллица из Lua в C# - Lua
Добрый день, друзья! Начинаю знакомство с Lua. Столкнулся с проблемой некорректного чтения кириллицы в скриптах. Сам скрипт...

Lua, Android - Lua
Доброго времени суток. Хочу попробовать себя а в разработке игр под Android (Android под Java начал осваивать недавно). Получил предложение...

lua script - Lua
Такое дело: Есть изображения, и есть скрипт на Lua, который эти изображения &quot;исполняет&quot;. Как собственно из этого сделать приложение...

vs c++ & lua - Lua
Здравствуйте, занимаюсь разработкой 3д игры, пишу движок и прочее, когда то модил сталкера, в плане скриптинга, уж очень нравилось и в...

Скрипты lua - Lua
Вопрос: вот я у себя на хабе (дсс) настроил викторину, а как мне сделать чтобы бот не получал статус админа при входе? Листинг...

3
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
27.04.2016, 16:40 #2
Цитата Сообщение от Механ Посмотреть сообщение
но на выходе таблица
1. а вы чего хотите? Перевести байты в символы и объединить в строку?
2. При подключении к MySql нельзя указать нужную кодировку?
0
Механ
6 / 6 / 1
Регистрация: 08.01.2015
Сообщений: 162
28.04.2016, 07:19  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mysql = require "luasql.mysql"
socket = require "socket"
 
s = socket.bind("192.168.0.11", "28000")
server = s:accept()
message, err  = server:receive()
 
 
env = mysql.mysql()
conn = env:connect('owncloud','root','1')
cursor, errorString = conn:execute([[select * from oc_group_user]])
row = cursor:fetch({}, "a")
 
k=0
 
while row do
 str = ''
 
 while (row) and (string.len(str)<=100)  do
   k = k + 1
   str = str..k..'  '..'#uid'..row.uid..'#gid'..row.gid
   print(utf8to32(row.gid))
   row = cursor:fetch(row, "a")
 end
 
 server:send('\n')
 server:send(str..'\n')
 
end
 
s:close()
это обращение к бд и отправка клиенту, клиент на дельфях. помогите, пожалуйста, с кодировкой
0
ProgJ
87 / 85 / 10
Регистрация: 20.11.2008
Сообщений: 724
28.04.2016, 08:34 #4
Любой mysql-клиент при соединении с сервером может установить несколько переменных:
character_set_client — указывает, в какой кодировке будут поступать данные от клиента;
character_set_connection — указывает, в какую кодировку следует преобразовать данные полученые от клиента перед выполнением запроса;
collation_connection — указывает, каким образом сравнивать между собой строки в запросах;
character_set_results — указывает серверу не необходимость перекодировать результаты запроса в определенную кодировку перед выдачей их клиенту.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2016, 08:34
Привет! Вот еще темы с ответами:

Lua 5.3 и LuaJit - Lua
Возможно ли совместить subj в проекте одновременно? Требуется часть скриптов выполнять в среде Lua, а часть - в среде LuaJit. Динамическая...

Lua шифрование - Lua
Здравствуйте, есть такая задачка, кто-то сможет помочь? В файле содержатся целые числа в десятичном виде. Преобразовать каждое число в...

Установка Lua - Lua
Здравствуйте! Подскажите, пожалуйста как это сделать: Что бы вы могли запускать луа откуда угодно – вам надо добавить их (путь к ним)...

Парсинг lua - Lua
Здравствуйте форумчане,меня озадачило такой задачей,нужно из текста Client ping times: 62 ms : Чпоньк 77 ms : Aнимешник+))) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru