2012-03-03 121 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...