c# - "ÅÄÖ"个字母的 QueryString 问题

标签 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

有人知道我该如何解决这个问题吗?非常感谢!

最佳答案

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

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

关于c# - "ÅÄÖ"个字母的 QueryString 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513800/

相关文章:

c# - 无法正确连接字符串

c# - 绑定(bind)中的 PropertyChanged

javascript - 如何使用 JavaScript 获取嵌套控件的 ClientID?

c# - 像 Twitter 一样的实时更新

asp.net - 无点 url() 中的应用程序相对路径

asp.net - 如何从 .aspx 页面检索查询字符串值并将其传递到 ascx 页面

c# - 加号登录 ASP.NET 站点的查询字符串

c# - 如何模拟多个查询字符串?

c# - SortDescription 和自动排序顺序刷新

c# - 使用 System.Timers.Timer 打开一个新表单有多糟糕?