在经典ASP中检测查询字符串编码

时间:2013-04-04 11:17:36

标签: utf-8 asp-classic character-encoding query-string

我遇到编码问题,我不确定如何处理。我们提供了一个链接(电子邮件和其他方式),其中包含非ascii字符(特别是æ,ø,å等等)。问题是,根据用户打开链接的浏览器,我们收到的查询字符串编码方式不同。

在大多数浏览器中,它编码为UTF8,如下所示:
%C3%A5 = å

然而,在Internet Explorer中它的编码类似于ISO-8859-1:
%E5 = å(或者它只是作为å发送而没有查询字符串编码)。

问题在于,如果我在chrome中读取查询字符串,我会得到Ã¥而不是å,而在IE中我得到å,所以我需要一些方法来制作确保服务器接受编码或客户端总是以特定编码发送,如上所述,问题是我无法控制链接的使用位置。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试将其嵌入到asp的顶部。

Response.ContentType = "text/html"
Response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"

强制所有浏览器使用utf-8