한글까지 URLDecode 되는 함수 (인코딩, 디코딩 함수) > 기술자료 | 해피정닷컴

한글까지 URLDecode 되는 함수 (인코딩, 디코딩 함수) > 기술자료

본문 바로가기

사이트 내 전체검색

한글까지 URLDecode 되는 함수 (인코딩, 디코딩 함수) > 기술자료

ClassicASP 한글까지 URLDecode 되는 함수 (인코딩, 디코딩 함수)

페이지 정보


본문

URLDecode 되는 함수들을 찾아서 이용해봤지만 한글까지 적용되지는 않더군요.
왜냐하면 한글은 그 표기가 2바이트가 모여서 하나가 되기 때문이죠.
그러니 인코딩을 하면 2바이트가 되는 특수문자를 디코딩하는 여타의 펑션으로를 않된다는 거죠.
한글은 인코딩이 되면 %로 구분된넘이 2개거든요.
그래서 캐릭터 코드가 130이 넘어가면 % 를 두개 부쳐서 출력하게 했습니다.
그럼 유용하게 사용하시길...

<%
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   

TEXT = "테스트에 성공했습니다. 특수문자: @@@@@@@  http://goosia.com/"
En_Text = Server.URLEncode(TEXT)
De_Text = URLDecode(En_Text)

Response.Write "<br>Input Data: " & TEXT
Response.Write "<br>Encode Data: " & En_Text
Response.Write "<br>Decode Data: " & De_Text
%>


자료출처
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=57&MAEULNo=22&no=1430


< 응용편 >
로그인후 앞화면 돌아가기

1. 상단 로그인 include 페이지
<%
pURL = request.servervariables("HTTP_url")
En_Text = Server.URLEncode(pURL)


<a href="login.asp?url=<%=En_Text %>">로그인</a>

2. 로그인 ID, PW 입력 페이지
<%
redir_encode_action = request("url")
%>
<form method="post" name="loginFrm" action="login_action.asp">
  <input type="hidden" name="redir" value="<%=escape(redir_encode_action)%>">
  아이디. <input type="text" name="member_id" value="" />
  비밀번호. <input type="password"name="member_pwd" value="" />
  <input type="submit" value="로그인" />
</form>


3. 로그인 실행페이지
<%
' URLDecode 함수 로딩확인
redir = Request("redir")
'
'
'
if redir <> "" then
  location_url = URLDecode(redir)
else
  location_url = "/"
end if
%>
<script language="javascript">
<!--
  location.href = '<%=location_url%>';
//-->
</script>

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 111 페이지
  • RSS
기술자료 목록
441
ClassicASP   12824  2008-03-21 08:36  
440
일반   13381  2008-03-21 08:34 ~ 2018-07-10 21:24  
439
MSSQL   31578  2008-03-18 12:20  
438
WindowsServer   13581  2008-03-18 12:18  
437
ClassicASP   30325  2008-03-14 14:53 ~ 2018-03-24 04:08  
436
ClassicASP   13893  2008-03-13 08:04  
435
WindowsServer   13770  2008-03-13 21:47  
434
ClassicASP   12006  2008-03-13 07:31  
433
일반   15894  2008-03-11 16:37  
432
ClassicASP   30439  2008-03-09 18:44 ~ 2018-05-15 14:37  
열람
ClassicASP   23257  2008-03-08 10:40 ~ 2013-11-28 00:00  
430
ClassicASP   25007  2008-03-08 10:34 ~ 2014-07-08 00:00  
429
그누보드   13250  2008-03-07 17:38 ~ 2008-03-17 00:00  
428
그누보드   16140  2008-03-05 21:37 ~ 2021-07-14 18:37  
427
그누보드   12289  2008-02-14 20:33  
426
그누보드   13610  2008-02-14 14:45  
425
Adobe   19862  2008-02-11 21:16  
424
그누보드   17870  2008-02-11 21:25 ~ 2008-02-20 00:00  
423
그누보드   11406  2008-02-05 20:12  
422
테크노트   14673  2008-02-02 12:15  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.