자바스크립트(JavaScript)에서는 다음의 함수들로, HTML 페이지 주소를 인코딩/디코딩합니다.

encodeURI() / decodeURI()
최소한의 문자만 인코딩합니다.
; / ? : @ & = + $ , - _ . ! ~ * ' ( ) #
이런 문자는 인코딩하지 않습니다.
http:// ... 등은 그대로 나옵니다.


encodeURIComponent() / decodeURIComponent()
알파벳과 숫자 Alphanumeric Characters 외의, 대부분의 문자를 모두 인코딩합니다.
http:// ... 가 http%3A%2F%2F 로 됩니다.



escape() / unescape()
예전부터 있던 오래된 함수입니다. encodeURI() 와 encodeURIComponent() 의 중간 정도의 범위로 문자를 인코딩합니다.


encodeURI, encodeURIComponent, escape 함수 사용 예제

 

<html>

<body>

<script type="text/javascript">
  var s;

  s = encodeURI('http://www.google.co.kr/소 설.html');
  document.write('<p>' + s + '<p>');
  // 출력 결과: http://www.google.co.kr/%EC%86%8C%20%EC%84%A4.html


  s = encodeURIComponent('http://www.google.co.kr/소 설.html');
  document.write('<p>' + s + '<p>');
  // 출력 결과: http%3A%2F%2Fwww.google.co.kr%2F%EC%86%8C%20%EC%84%A4.html


  s = escape('http://www.google.co.kr/소 설.html');
  document.write('<p>' + s + '<p>');
  // 출력 결과: http%3A//www.google.co.kr/%uC18C%20%uC124.html
</script>

</body>
</html>





어떤 함수든 "공백 문자" 즉 스페이스는 %20 으로 치환합니다. 그러나 주소의 공백은 없어야 합니다.

 

 

Use this URL Encoding table for special characters:

CharacterCodeCharacterCode

%26%23169; t %74
® %26%23174; u %75
%E2%84%A2 v %76
backspace %08 w %77
tab %09 x %78
linefeed %0A y %79
creturn %0D z %7A
space %20 { %7B
! %21 | %7C
" %22 } %7D
# %23 ~ %7E
$ %24 %A2
% %25 %A3
& %26 %A5
' %27 | %A6
( %28 § %A7
) %29 %AB
* %2A %AC
+ %2B ? %AD
, %2C º %B0
- %2D ± %B1
. %2E ª %B2
/ %2F , %B4
0 %30 μ %B5
1 %31 %BB
2 %32 ¼ %BC
3 %33 ½ %BD
4 %34 ¿ %BF
5 %35 A` %C0
6 %36 %C1
7 %37 A^ %C2
8 %38 A~ %C3
9 %39 %C4
: %3A %C5
; %3B Æ %C6
< %3C %C7
= %3D E` %C8
> %3E %C9
? %3F E^ %CA
@ %40 %CB
A %41 I` %CC
B %42 %CD
C %43 I^ %CE
D %44 %CF
E %45 Ð %D0
F %46 N~ %D1
G %47 O` %D2
H %48 %D3
I %49 O^ %D4
J %4A O~ %D5
K %4B %D6
L %4C Ø %D8
M %4D U` %D9
N %4E %DA
O %4F U^ %DB
P %50 %DC
Q %51 %DD
R %52 Þ %DE
S %53 ß %DF
T %54 a` %E0
U %55 %E1
V %56 a^ %E2
W %57 a~ %E3
X %58 %E4
Y %59 %E5
Z %5A æ %E6
[ %5B %E7
\ %5C e` %E8
] %5D %E9
^ %5E e^ %EA
_ %5F %EB
` %60 i` %EC
a %61 %ED
b %62 i^ %EE
c %63 %EF
d %64 ð %F0
e %65 n~ %F1
f %66 o` %F2
g %67 %F3
h %68 o^ %F4
i %69 o~ %F5
j %6A %F6
k %6B ÷ %F7
l %6C ø %F8
m %6D u` %F9
n %6E %FA
o %6F u^ %FB
p %70 %FC
q %71 %FD
r %72 þ %FE
s %73 %FF

https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=테스트

https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=%ED%85%8C%EC%8A%A4%ED%8A%B8

 

window.open 으로

get방식으로 보낼시 가끔 정보값이 깨지는경우가 있다.

encodeURIComponent(값);

이런식으로 보내야 한글 깨짐을 막을수 있다..

+ Recent posts