utf8 url 编码问题

liaokm168 2009-03-17 11:24:31
一直没有找到能真正编码的函数.......苦恼,会出现乱码

string="All rights reserved.粤ICP备09009202号"
正确的编码是:
All%20rights%20reserved.%E7%B2%A4ICP%E5%A4%8709009202%E5%8F%B7

我现在得到的编码是(错误有乱码的):
All rights reserved.%E8%B3%A4ICP%E6%A4%8709009202%E5%90%B7

谁有函数能得到正确的编码呢???
...全文
94 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
look4sword 2009-03-18
  • 打赏
  • 举报
回复
js escape绝对是正确的
wcwtitxu 2009-03-18
  • 打赏
  • 举报
回复

' 利用 ADODB.Stream
Function EncodeURI(str)
Dim stream
Set stream = Server.CreateObject("ADODB.Stream")
stream.Mode = 3
stream.Type = 2
stream.Open
stream.Charset = "UTF-8"
stream.WriteText str
stream.Position = 0
stream.Charset = "iso-8859-1"
EncodeURI = stream.ReadText(-1)
stream.Close
Set stream = Nothing
EncodeURI = Right(EncodeURI, Len(EncodeURI)-3)
EncodeURI = Escape(EncodeURI)
End Function


Response.Write EncodeURI("All rights reserved.粤ICP备09009202号")


或者用 JScript, 有性能影响 因为要加载两个脚本引擎

<%@ LANGUAGE="VBScript" CodePage="936"%>
<script language="JScript" runat="Server">
function encodeURL(str) { return encodeURIComponent(str); }
</script>
<%

Response.Write encodeURL("All rights reserved.粤ICP备09009202号")

%>


如果页面是 UTF-8 的, 直接 Server.URLEncode 就行了

<%@ LANGUAGE="VBScript" CodePage="65001"%>
<%
Response.Write Server.URLEncode("All rights reserved.粤ICP备09009202号")
%>


如果不是 UTF-8 的

<%@ LANGUAGE="VBScript" CodePage="936"%>
<%
Session.CodePage = 65001 ' 把 CodePage 临时地改成 65001
Response.Write Server.URLEncode("All rights reserved.粤ICP备09009202号")
Session.CodePage = 936 ' 改回原来的
%>


或者
icefire_love 2009-03-18
  • 打赏
  • 举报
回复
<%@ LANGUAGE="VBScript" CodePage="936"%>
<script language="JScript" runat="Server">
function encodeURL(str) { return encodeURIComponent(str); }
</script>
<%
Session.CodePage = 65001 ' 把 CodePage 临时地改成 65001
Response.Write encodeURL("All rights reserved.粤ICP备09009202号")
Session.CodePage = 936 ' 改回原来的
%>
就可以了!
十一文 2009-03-18
  • 打赏
  • 举报
回复
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<% Response.CodePage=65001%>

<% Response.Charset="UTF-8" %>
mocom 2009-03-17
  • 打赏
  • 举报
回复
没有上下问不好说,ASP文件的编码?codepage的设置?

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧