查询字符串将空格转换为? (符号)在asp.net

时间:2017-02-23 05:35:48

标签: c# asp.net query-string request.querystring

我有一个用C#开发的aspx Web表单应用程序。现在,使用查询字符串参数从其他应用程序调用网页。

现在的问题是,当查询字符串参数值为"测试示例(1111) - 测试用户"然后,当我们将其访问代码时,它将其转换为"测试示例(1111)�-测试用户"。

我已尝试使用以下选项,但仍然无效

  1. HttpUtility.UrlEncode
  2. Server.UrlEncode
  3. 无论如何我可以删除符号吗?

1 个答案:

答案 0 :(得分:0)

这个�符号被称为REPLACEMENT CHARACTER,当UTF-8尝试编码可能无效的特殊字符并且您尝试编码

时,它会显示
"Test example(1111)�- test user" 

它会给出像

这样的结果
Test+example(1111)%ef%bf%bd-+test+user

你可以尝试这样的事情

HttpUtility.UrlEncode(query,Encoding.UTF8).Replace("%ef%bf%bd","+");

获取Test+example(1111)+-+test+user