我正在用值填充文本框,但由于某种原因,当我使用QueryString
时,"ÅõÖ"字母会转换为奇怪的字符。只有当我使用QueryString
时才会发生这种情况,所以问题不在我的web配置中。
这就是它的样子:
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!
请求url如下:
?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
有人知道我该怎么解决这个问题吗?非常感谢!
在发送查询字符串参数之前,需要对其进行编码
string queryString = "RenameSite=" + encodeURIComponent("ÅÄÖ");
string url = "yoururl.com?" + queryString;