2012-03-03 2 views
1

Я использую network.request в corona sdk, я строю строку для url, но когда эта строка содержит пробелы, испанский acents, арабский char, japanese char и т. Д., Это дает мне ошибка (плохой URL). Как я могу решить эту проблему? Спасибо.network.request и неанглийские символы

ответ

0

Удалите строки, испанские символы и т. Д. Из строящегося вами URL-адреса. У Urls не могут быть эти символы.

2

Даже лучше, чем удаление букв, следует избегать URL-адреса, используя percent encoding. Поскольку Lua поддерживает только 8-битные строки, я предполагаю, что международные символы кодируются чем-то вроде UTF-8, и ваш сервер поддерживает его. Затем вы можете использовать следующую функцию от Programming in Lua до escape URL:

function escape (s) 
    s = string.gsub(s, "([&=+%c\128-\255])", function (c) 
     return string.format("%%%02X", string.byte(c)) 
     end) 
    s = string.gsub(s, " ", "+") 
    return s 
end 
print(escape("http://server/aáäbcčdďeé...")) 
--> http://server/a%C3%A1%C3%A4bc%C4%8Dd%C4%8Fe%C3%A9... 
Смежные вопросы