UTF-8 ↔ euc-kr 변환 escape / encodeURI / encodeURIComponent > 기술자료

본문 바로가기

사이트 내 전체검색

UTF-8 ↔ euc-kr 변환 escape / encodeURI / encodeURIComponent > 기술자료

ClassicASP UTF-8 ↔ euc-kr 변환 escape / encodeURI / encodeURIComponent

페이지 정보


본문

utf-8 웹페이지에 KCP 전자결제 시스템 구축중 한글을 전송하는 과정에서 문제가 발생합니다.
KCP ( 올더게이트 등 )은 euc-kr 데이타로 결제과정이 진행되기 때문입니다.
이때 한글을 escape 함수를 이용해서 암호화 형태로 변형해서 KCP에 전송후 리턴된 한글을 다시 unescape 함수를 이용해서 원래 한글로 되돌려 Database에 저장합니다.


용어설명
  인코딩 : 정보를 부호화/암호화
  디코딩 : 그 부호화/암호화를 해제


<% @LANGUAGE='VBSCRIPT' CODEPAGE='65001' %>
<%
response.CharSet = "utf-8"
response.write "인코딩 = "& escape("해피정닷컴") &"<br />"
response.write "디코딩 = "& unescape("%uD574%uD53C%uC815%uB2F7%uCEF4") &"<br />"
%>


결과
인코딩 = %uD574%uD53C%uC815%uB2F7%uCEF4
디코딩 = 해피정닷컴


url을 client에서 server로 넘길 때 escape sequence로 넘겨야 client에서 넘긴 url을 제대로 받을 수 있기 때문에 사용합니다.
그러면, 비슷 비슷한 이 세 함수들의 차이점을 알아봅니다.
 
1. escape() :
"+" 문자를 server쪽에서 공백(space)으로 처리하고, 실제 공백(space)문자도 공백으로 처리하기 때문에, 이 escape()함수는 non-ASCII 문자들을 정확하게 처리하지 못합니다.
따라서 이런 escape()의 문제점을 피하기 위한 최선의 선택은 거의 모든 non-ASCII 문자들 까지 encode 해주는 "encodeURIComponent()"를 사용하는 것입니다.

1-1. escape()가 encode 하지 못하는 문자들 : @*/+


2. encodeURI() :
이 함수는 "'"(외 따옴표) 문자를 encode 하지 않습니다. URI에서 valid한 문자로 사용되기 때문입니다.

2-1. encodeURI()가 encode 하지 못하는 문자들 : ~!@#$&*()=:/,;?+'

 
3. encodeURIComponent() :
최근에, encodeURIComponent()함수는 대부분의 경우에 URI를 인코딩 할 때 사용 됩니다.
이 함수는 대부분의 문자들을 인코딩 합니다.
이 함수는 "'"(외 따옴표)문자를 encode 하지 않습니다. URI에서 valid한 문자로 사용되기 때문입니다.
 
3-1. encodeURIComponent() 가 encode 하지 못하는 문자들 : ~!*()'



관련자료
http://taeyo.pe.kr/Forum/Content.aspx?SEQ=151401&TBL=ASP
http://blog.naver.com/kolove79/20044205975
http://xkr.us/articles/javascript/encode-compare/

댓글목록

등록된 댓글이 없습니다.


Total 2,650건 77 페이지
  • RSS
기술자료 목록
1130
메이크샵   12588  2012-04-23 17:44  
1129
그누보드   11505  2012-04-23 11:44  
1128
일반   14417  2012-04-22 18:38  
1127
Adobe   12900  2012-04-22 15:43  
1126
메이크샵   11578  2012-04-20 23:32  
1125
JavaScript   37301  2012-04-19 23:06 ~ 2012-06-22 00:00  
1124
ClassicASP   15968  2012-04-19 02:17  
1123
etc언어   24968  2012-04-18 18:32 ~ 2016-11-07 00:00  
1122
ClassicASP   16069  2012-04-18 13:41 ~ 2016-03-30 00:00  
1121
ClassicASP   31278  2012-04-17 22:22 ~ 2018-07-10 13:40  
1120
SNS   14570  2012-04-17 21:59  
1119
ClassicASP   14605  2012-04-17 13:55  
1118
Editor   25896  2012-04-16 23:44  
1117
전자결제   14024  2012-04-16 04:35 ~ 2015-03-18 00:00  
1116
그누보드   15472  2012-04-13 13:27  
1115
Editor   36277  2012-04-13 06:02  
1114
WindowsServer   19024  2012-04-12 23:59  
1113
WindowsServer   48901  2012-04-12 23:49  
1112
전자결제   24742  2012-04-09 23:39 ~ 2021-11-19 11:19  
1111
영카트   17919  2012-04-07 14:13 ~ 2015-01-23 00:00  

검색

해피정닷컴 정보

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

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