Utf 8 经典ASP中查询字符串编码的检测

Utf 8 经典ASP中查询字符串编码的检测,utf-8,asp-classic,character-encoding,query-string,Utf 8,Asp Classic,Character Encoding,Query String,我有一个编码问题,我不知道如何处理。我们提供了一个链接(电子邮件和其他方式),其中包含非ascii字符(特别是æ、ø、å等)。问题在于,根据用户在哪个浏览器中打开所述链接,我们收到的查询字符串编码不同 在大多数浏览器中,它被编码为UTF8,如下所示: %C3%A5= 但是,在Internet Explorer中,它的编码类似于ISO-8859-1,如下所示: %E5=å(或者它只是作为å发送,根本没有查询字符串编码) 问题是,如果我在chrome中读取查询字符串,我得到的是而不是而不是而在IE中

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

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

但是,在Internet Explorer中,它的编码类似于ISO-8859-1,如下所示:
%E5
=
å
(或者它只是作为
å
发送,根本没有查询字符串编码)

问题是,如果我在chrome中读取查询字符串,我得到的是
而不是
而不是
而在IE中我得到的是
所以我需要某种方法来确保服务器掌握编码或者客户端总是以特定的编码发送,如前所述,问题是我无法控制链接的使用位置


如果您有任何帮助,我们将不胜感激。

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

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

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

是否将字符串/URL中的字符更改为ASCII字符不是选项?它们是否在源代码的链接中编码?链接应该是
@DaveRook这是最后的选择,因为我们想要发送的是名称(用户可以识别),而不是实例ID(它总是一个用户没有关系的数字)。这些链接在我们自己的页面上显示时效果很好(因为我们可以控制字符集),但在通过skype/电子邮件等发送时效果不佳。目前看来,我们必须将其更改为ID。@Alxandr,Esailija的回答对你有用吗?@DaveRook好吧,我建议了,但被告知不可行。问题是这些链接包含名称(比如
/user.asp?user=Alxandr
),如果我们给出这样一个链接,有人会简单地将其更改为他们的(而不是生成一个新的),它将失败(非常糟糕)。所以我们决定(至少)现在我们必须使用ID来代替名字。尽管如前所述,这并不是一个真正的解决方案,因为它不能像我们希望的那样工作。在后续请求中,是的,但我们谈论的是可能在邮件或其他地方完全单击的链接(不在浏览器中)。换句话说,在传输数据之前,浏览器无法访问这些标题。