한글까지 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 198건 9 페이지
  • RSS
기술자료 목록
38
ClassicASP   12250  2008-04-24 11:47 ~ 2012-03-24 00:00  
37
ClassicASP   14559  2008-04-23 22:02 ~ 2015-02-03 00:00  
36
ClassicASP   14353  2008-04-17 22:30 ~ 2013-06-19 00:00  
35
ClassicASP   18530  2008-04-16 22:54  
34
ClassicASP   19169  2008-04-04 04:45  
33
ClassicASP   12799  2008-03-29 16:40  
32
ClassicASP   26988  2008-03-24 17:55 ~ 2012-05-18 00:00  
31
ClassicASP   12851  2008-03-21 08:36  
30
ClassicASP   30340  2008-03-14 14:53 ~ 2018-03-24 04:08  
29
ClassicASP   13918  2008-03-13 08:04  
28
ClassicASP   12019  2008-03-13 07:31  
27
ClassicASP   30469  2008-03-09 18:44 ~ 2018-05-15 14:37  
열람
ClassicASP   23273  2008-03-08 10:40 ~ 2013-11-28 00:00  
25
ClassicASP   25016  2008-03-08 10:34 ~ 2014-07-08 00:00  
24
ClassicASP   10726  2008-01-10 08:48  
23
ClassicASP   27138  2007-12-29 11:18  
22
ClassicASP   10982  2007-12-28 14:42 ~ 2008-10-17 00:00  
21
ClassicASP   22843  2007-09-28 22:39 ~ 2009-11-11 00:00  
20
ClassicASP   11696  2007-09-28 21:47  
19
ClassicASP   17697  2007-09-22 18:30 ~ 2013-12-26 00:00  

검색

해피정닷컴 정보

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

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