2012-03-03 197 views
1

我在corona sdk中使用network.request,我为url创建了一个字符串,但是当这个字符串有空格,西班牙语acents,阿拉伯字符,日本字符等等时,它会给我一个错误(坏的网址)。 我该如何解决这个问题? 谢谢。network.request和非英文字符

回答

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