URLEncode, URLDecode

WEB 2011. 12. 2. 00:02
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

사이트끼리 파라미터를 넘길 경우, 다양한 환경에 따라 파라미터가 제대로 전송되지 않고, 깨질 위험이 있다.
특히 한글이 포함된 파라미터인 경우는 필수로 Encoding하여 Decoding으로 풀어야 제대로 된 결과를 얻을 수 있다.


[ASP 1-Type]

    Function URLDecode(Expression)   
        Dim strSource, strTemp, strResult, strchr
        Dim lngPos, AddNum, IFKor  

        strSource = Replace(Expression, "+", " ") 

        For lngPos = 1 To Len(strSource)    
            AddNum  = 2
            strTemp = Mid(strSource, lngPos, 1)        
       
            If strTemp = "%" Then        
                If lngPos + AddNum < Len(strSource) + 1 Then            
                    strchr = CInt("&H" & Mid(strSource, lngPos + 1, AddNum))                

                    If strchr > 130 Then                 
                        AddNum = 5
                        IFKor = Mid(strSource, lngPos + 1, AddNum)
                        IFKor = Replace(IFKor, "%", "")
                        strchr = CInt("&H" & IFKor )                    
                    End If                
                
                    strResult = strResult & Chr(strchr)
                    lngPos    = lngPos + AddNum                
                End If            
            Else
                strResult = strResult & strTemp
            End If        
        Next  
        URLDecode = strResult
    End Function

    strTemp = "TEST 한글";
    
    strTemp = Server.UrlEncode(strTemp)
    strTemp = URLDecode(strTemp)
%>


[ASP 1-Type]

<s-ript language="javas-ript" runat="server">
    function URLDecode(v){ return decodeURI(v); }
    function URLEncode(v){ return encodeURI(v); }
</script>


<%
    strTemp = "TEST 한글";

    strTemp = URLEncode(strTemp)
    strTemp = URLDecode(strTemp)
%>

[JAVA-SCRIPT]

strTemp = encodeURIComponent(strTemp);
strTemp = decodeURIComponent(strTemp);

strTemp = escape(strTemp);
strTemp = unescape(strTemp);

strTemp = encodeURI(strTemp);
strTemp = decodeURI(strTemp);

[PHP]

<?php
    $strTemp = "TEST 한글";

    $strTemp = urlencode($strTemp);
    $strTemp = urldecode($strTemp);
?>

[JSP]

<%@page import = "java.net.*" %>

<%
    String strTemp = "TEST 한글";
    
    strTemp = URLEncoder.encode(strTemp, "UTF-8");
    strTemp = URLDecoder.decode(strTemp, "UTF-8");
%>

posted by 어린왕자악꿍