我正在用值填充文本框,但出于某种原因,当我使用 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
有人知道我该如何解决这个问题吗?非常感谢!
最佳答案
您需要在发送之前对您的查询字符串参数进行编码
string queryString = "RenameSite=" + encodeURIComponent("ÅÄÖ");
string url = "yoururl.com?" + queryString;
关于c# - "ÅÄÖ"个字母的 QueryString 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513800/