Encoding 处理通过QueryString传递的非英语字符串

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

我试图用经典的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 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'
%>
阅读更多: