【问题标题】:Query String converts space to ? (symbol) in asp.net查询字符串将空格转换为 ? (符号)在 asp.net 中
【发布时间】:2017-02-23 05:35:48
【问题描述】:

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

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

我尝试了以下选项,但仍然无法正常工作

  1. HttpUtility.UrlEncode
  2. Server.UrlEncode

无论如何我可以删除符号吗?

【问题讨论】:

  • 请贴出相关代码sn-p,以便我们更好地帮助您。转换后您是否总是获得相同的位置?
  • 显示您的代码到目前为止您尝试过的内容
  • 你在用火狐吗?
  • 不,我使用的是 IE
  • 编码后的返回字符串是什么?

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


【解决方案1】:

这个符号被称为替换字符,当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

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多