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

Resolve breaks between JS encodeURI and ASP Server.URLEncode

直到现在我还愚蠢地认为 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)

这对我有用,但一定要使用 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>