【问题标题】:Server.UrlEncode for SQL?用于 SQL 的 Server.UrlEncode?
【发布时间】:2011-08-30 16:59:14
【问题描述】:

有没有办法可以使用 SQL Server 2008 执行 .NET 的 Server.UrlEncode() 函数?

我正在寻找一种使用用户提供的@Name 格式化用户为文件名目的提交的文本的方法,而不必转换应用程序端,然后同时发送@Name@FileName

我希望这是有道理的欢呼

【问题讨论】:

  • 你是问如何使用CLR集成来调用这个方法还是如何在TSQL中模拟它?
  • 虽然您可以这样做,但我发现如果您存储所有未编码的数据库字符串并且只在使用它之前立即进行编码(无论是 URL、JavaScript、SQL 等),那么问题就会少得多,例如在你的 ASP.Net 前端。

标签: .net sql sql-server-2008 filenames urlencode


【解决方案1】:

这是纯 T-SQL 中的一个实现:

T-SQL UrlEncode

【讨论】:

    【解决方案2】:

    您希望执行Percent-Encoding/Decoding 中定义的Section 2.1 RFC 3986, titled "Uniform Resource Identifier (URI): Generic Syntax"

    您可以使用此部分来确定如何在 T-SQL 中对 URI 进行百分比编码/解码。

    具体来说,您需要关注所有Section 2: Characters,并特别关注Section 2.4: When to Encode or Decode

    当然,最好的方法是在保存/查询数据库之前/之后执行此操作。关系数据库一般不适合这种计算工作。

    如果您使用代码,您可能需要查看Microsoft Web Protection Library on CodePlex,因为它包含百分比编码/解码机制,在考虑可能出现的漏洞方面,这些机制是最新的来自糟糕的编码方案。

    【讨论】:

      猜你喜欢
      • 2011-03-28
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多