解决JS encodeURI和ASP Server.URLEncode之间的中断问题

时间:2016-10-17 19:04:33

标签: javascript asp-classic urlencode url-encoding

到目前为止,我愚蠢地认为JavaScript的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)

1 个答案:

答案 0 :(得分: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>