我正在填充带有值的文本框但由于某种原因,当我使用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
任何人都知道如何解决这个问题?非常感谢!
答案 0 :(得分:0)
您需要在发送查询字符串参数之前对其进行编码
string queryString = "RenameSite=" + encodeURIComponent("ÅÄÖ");
string url = "yoururl.com?" + queryString;