1

我正在尝试使用经典 ASP 处理通过 QueryString 传递的希伯来语字符串。

我请求的 URL: http ://www.XXXX.com/myapp.asp? q =שלום

(שלום 在希伯来语中是“和平”,一个由 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 个字母)。

4

1 回答 1

0

http://www.XXXX.com/myapp.asp?q=שלום链接所在的 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'
%>

阅读更多内部字符串编码

于 2012-09-05T11:58:54.483 回答