Encoding 处理通过QueryString传递的非英语字符串
我试图用经典的ASP处理通过QueryString传递的希伯来文字符串 我请求的URL: =שלום שלום是希伯来语中的和平,一个由4个字母组成的单词 在ASP端,我运行以下代码:Encoding 处理通过QueryString传递的非英语字符串,encoding,asp-classic,ascii,urlencode,Encoding,Asp Classic,Ascii,Urlencode,我试图用经典的ASP处理通过QueryString传递的希伯来文字符串 我请求的URL: =שלום שלום是希伯来语中的和平,一个由4个字母组成的单词 在ASP端,我运行以下代码: mstr = Request.QueryString("q") for i=1 to Len(mstr) Response.Write Asc(Mid(mstr, i, 1)) & "<br/>" next 此脚本生成以下输出: 215 169 215 156 215 149 21
mstr = Request.QueryString("q")
for i=1 to Len(mstr)
Response.Write Asc(Mid(mstr, i, 1)) & "<br/>"
next
此脚本生成以下输出:
215
169
215
156
215
149
215
157
8个ASCII字母,表示每个字母有两个ASCII符号字节
我需要看到以下输出:
249
236
229
237
ASCII表的顶部
我应该怎么做才能正确处理这些字符串?要查看原始字符串中发送的4个字母。链接所在的html页面必须编码为utf-8。
因为浏览器很可能会使用与原始页面相同的编码对请求进行编码
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
但是查询字符串应该始终是URL编码的。浏览器会自动为标准链接执行此操作,但如果您是通过JavaScript构建URL,则必须自己处理URL编码
其次,必须将服务器端脚本ASP设置为在utf-8中工作。你可以把这些线放在最上面
<%
response.codepage = 65001
response.charset = 'utf-8'
%>
阅读更多: