QueryString“ÅÄÖ”字母的问题

时间:2013-12-11 08:11:52

标签: c# asp.net request.querystring

我正在填充带有值的文本框但由于某种原因,当我使用QueryString时,“ÅÄÖ”字母会转换为奇怪的字符。它只在我使用QueryString时发生,因此问题不在我的网络配置中。

这就是它的样子:

this.txtNewName.Text = Page.Request.QueryString["RenameSite"];

ASPX:

<asp:TextBox runat="server" CssClass="rename-web-textarea" ID="txtNewName" Visible="true" MaxLength="45" />

值应为"ärta bårta örta"

但结果是:ärta bÃ¥rta örta

还有其他方法可以解决这个问题吗?或任何方法来解决它所以它适用于“ÅÄÖ”?

请注意!这种情况只发生在IE8和IE10上,适用于Chrome!

请求网址是:

?RenameWebTitle=%C3%A4rta%20b%C3%A5rta%20%C3%B6rta&RenameWebUrl=http://test/site/test&IsDlg=1"

我通过IE开发工具捕获了请求,以下是一些详细信息:

Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3
Response headers: Content-Type: text/html; charset=utf-8

任何人都知道如何解决这个问题?非常感谢!

1 个答案:

答案 0 :(得分:0)

您需要在发送查询字符串参数之前对其进行编码

string queryString = "RenameSite=" + encodeURIComponent("ÅÄÖ");
string url = "yoururl.com?" + queryString;