2016-10-17 2 views
1

지금까지 어리석게도 JavaScript의 encodeURI()은 ASP 클래식의 Server.URLEncode()과 동일한 결과를 산출 할 것이라고 생각했습니다. 다음은이 실패 예는 다음과 같습니다JS encodeURI와 ASP Server.URLEncode 간의 중단 문제를 해결합니다.

나는 다른의 방법과 동일한 인코딩을 생산하기 위해 보장 한 어떤 인코딩 방법이, 두 언어를 사용하는 시스템에있어 이후
encodeURI("戦艦帝国") = "%E6%88%A6%E8%89%A6%E5%B8%9D%E5%9B%BD" 
Server.URLEncode("戦艦帝国") = "%C6%88%A6%C8%89%A6%C5%B8%9D%C5%9B%BD" 

?


(참고 : Server.UrlEncode(str)HttpUtility.UrlEncode(str, Response.ContentEncoding)에 가정으로 동일하다)

+0

사용하여 저장해야합니다, 하지만 자바 스크립트 하나 잘못 보인다. http://meyerweb.com/eric/tools/dencoder/ – Vixed

+0

@Vixed -이 도구와 [this tool] (http://www.cafewebmaster.com/online_tools/utf8_encode)는 모두 자바 스크립트 값과 일치합니다 (즉, 하나는'% E6'). 아마 그들은 javascript를 사용하고 있기 때문에 .... – feetwet

+0

** % % E6 % 88 % A6 % E8 % 89 % A6 % E5 % B8 % 9D % E5 % 9B % BD ** 나는 문자셋의 문제라고 생각한다. – Vixed

답변

1

이 나를 위해 작동하지만, UTF-8

나는 결과를 변환하려고
<%Response.charset="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8" /> 
    </head> 
    <body> 
    <%=Server.UrlEncode("戦艦帝国")%> 
    <br /> 
    <script>document.write(encodeURI("戦艦帝国"))</script> 
    </body> 
</html> 
관련 문제