network.request和非英文字符

时间:2012-03-03 17:41:14

标签: sdk lua corona

我在corona sdk中使用network.request,我为url构建了一个字符串,但是当这个字符串有空格,西班牙语acents,arabic char,japanese char等...它给了我一个错误(坏网址)。 我怎么解决这个问题? 感谢。

2 个答案:

答案 0 :(得分:2)

删除字母比使用percent encoding转义URL更好。由于Lua只支持8位字符串,我想国际字符的编码类似于UTF-8,你的服务器支持它。然后,您可以使用Programming in Luaescape网址中的以下功能:

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...

答案 1 :(得分:0)

从您构建的网址中删除字符串,西班牙语字符等。网址不能包含这些字符。