java.net.URLEncoder.encode()로 인코딩한 문자열을 javascript에서 변환할 때 space(공백)가 +로 바뀌는 것에 대한 해결

By | 4월 6, 2012

예전에는 공백문자의 인코딩(URI encoding)결과가 "%20"(맞나?) 이었다고 하는데
현재는 공백문자의 인코딩결과가 "+" 로 표준이 변경된 것 같다. 
java 내부적으로는 디코딩이 잘 될지 몰라도 자바스크립트에는 아직 "+" 로 바뀐 표준을 
지원하지 않는 것처럼 보여서, 그냥 +를 공백문자로 relace(치환)하는 코드를 추가했다.


value = decodeURIComponent(value || '').replace(/\+/g, ' ');

Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
jks
jks
8 years ago

흠.. 아직도 안 바뀐건가요?? 지금이 2016년인데.. 구글링해봐도 이 방법말곤 해결 방법이 없는 것 같네요. 여튼 잘봤습니다. 감사

itpsolver
itpsolver
8 years ago
Reply to  jks

아 ㅎㅎ 저도 잘 몰라서 ^^;
좋은 방법 있으면 가르쳐 주세요~