2012-03-03 2 views
1

코로나 SDK에서 network.request를 사용하고 있는데이 문자열에 공백, 스페인어 acents, 아랍어 char, japanese char 등이있는 경우 URL을위한 문자열을 작성합니다. 오류 (잘못된 URL). 어떻게이 문제를 해결할 수 있습니까? 감사합니다. .network.request와 비영어권 문자

답변

0

작성한 URL에서 문자열, 스페인어 문자 등을 제거하십시오. URL에는 해당 문자를 사용할 수 없습니다.

2

문자를 제거하는 것보다 더 나은 것은 percent encoding을 사용하여 URL을 이스케이프 처리하는 것입니다. 루아는 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...