티스토리 뷰

PHP 에서는 iconv() 라는 훌륭한 함수가 존재하지만

Classic ASP 에서는 지원되지 않아 난감하다

부르는 쪽에서는 값을 escape 태그로 감싼다

$('#orderInfo').load('./x.ajax.asp', { 'orderId':''+ escape($('#orderId').val()) +'', 'orderName':''+ escape($('#orderName').val()) +'' });

답하는 쪽에서는 Unescape() 함수를 사용하여 변환해준다

<%@ CodePage=949 Language="VBScript"%>
<%
Session.CodePage = "949"
Response.CharSet = "euc-kr"
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.AddHeader "Expires","0"
Response.CacheControl = "no-cache"
Response.ContentType = "text/html"    '"application/json"
%>
<!-- #include virtual = "/inc/lib.asp" -->
<%
orderId = Request.Form("orderId")
orderName = Request.Form("orderName")

orderId = Unescape(orderId)
orderName = Unescape(orderName)
......


function Unescape(str)
    dim rtnStr
    rtnStr = ""
    dim i, t
    for i=1 to len(str)
        t = mid(str, i, 1)
        if t="%" then
            if mid(str, i+1, 1)="u" then
                rtnStr = rtnStr & chrB("&H"&mid(str, i+4, 2)) & chrB("&H"&mid(str, i+2, 2))
                i = i+5
            else
                rtnStr = rtnStr & chrB("&H"&mid(str, i+1, 2))
                i = i+2
            end if
        else
            rtnStr = rtnStr&t
        end if
    next
    Unescape = rtnStr
end function
%>
댓글