1. 형식
형식1) result= queryencode(query_str)
형식2) result= queryencode(인자1, 인자2, ... , 인자N)
2. 기능: 인자 query_str을 HTML query(URL encoding)형식으로 인코딩(부호화)한
문자열을 얻는다. query를 URL encoding 방식으로 전달할 때 변수의
값에 있는 공백이나 몇몇 기호는 부호화되어야 하는데 이때 이 함수를
사용한다. setqueryencode()함수의 영향을 받으며 이로 인하여 부호화
방식이 달라진다.(setqueryencode()함수 참조)
3. 설명
(1) 인자 query_str은 문자열이며 수치이면 문자열로 변환된다.
(2) 인코딩(부호화)된 문자열이 result에 돌려진다.
(3) 인코딩되는 문자는 공백을 포함하여 !#$%^&()+=|\/?,><;:'"[]{}~` 이다.
(4) 형식1)은 setqueryencode(0) 일때 인자 query_str을 부호화한다.
(5) 형식2)는 setqueryencode(1) 일때 폼 매크로 변수의 값만 부호화하며 개방된
폼이 32 개를 초과하면 에러 처리된다. 이 함수의 인자를 이용하여 새로운
폼을 개방한 후 폐쇄하지 않았다면 함수가 종료될 때 모두 폐쇄된다.
4. 사용예
q1= "a&b#c 가12", q2= "a=1?b=2&c=3";
qstr1= " 12 + 3 & 4 ", qstr2= "x={$q1}&y={$q2}";
result1= queryencode(qstr1), result2= queryencode(qstr2);
setqueryencode(1);
result3= queryencode(qstr1), result4= queryencode(qstr2);
printf(" [%s] [%s]\n", result1, result2);
printf(" [%s] [%s]\n", result3, result4);
------------------------------ [ 출력결과 ] ------------------------------
[+12+%2B+3+%26+4+] [x%3D%7B%24q1%7D%26y%3D%7B%24q2%7D]
[ 12 + 3 & 4 ] [x=a%26b%23c+가12&y=a%3D1%3Fb%3D2%26c%3D3]
|