有没有办法可以使用SQL Server 2008执行.NET的Server.UrlEncode()
函数?
我正在寻找一种方法,使用用户提供的@Name
格式化用户为文件名提交的文本,而不是转换应用程序结束,然后同时发送@Name
和{ {1}}。
我希望这是有道理的欢呼声
答案 0 :(得分:3)
这是纯T-SQL中的一个实现:
答案 1 :(得分:0)
您希望执行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,因为它包含百分比编码/解码的机制,这些机制在考虑到漏洞方面更为新闻可能来自糟糕的编码方案。