network.request и неанглийские символы - PullRequest
1 голос
/ 03 марта 2012

Я использую network.request в Corona SDK, я строю строку для URL-адреса, но когда в этой строке есть пробелы, испанский акценты, арабский символ, японский символ и т.д. Как я могу решить эту проблему? Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Даже лучше, чем удаление букв, это экранировать URL, используя процентную кодировку . Поскольку Lua поддерживает только 8-битные строки, я полагаю, что международные символы кодируются во что-то вроде UTF-8, и ваш сервер поддерживает это. Затем вы можете использовать следующую функцию от Программирование на 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...
0 голосов
/ 03 марта 2012

Удалите строки, испанские символы и т. Д. Из созданного вами URL. У URL не может быть этих символов.

...