SQL Server
SQL Server
URL Encoding and Decoding
See more Encryption Examples
Demonstrates URL encoding and decoding.Chilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- To URL encoding a string:
DECLARE @s nvarchar(4000)
SELECT @s = 'Why a > b?'
DECLARE @sb int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
EXEC sp_OAMethod @sb, 'Append', @success OUT, @s
-- URL encode the string.
EXEC sp_OAMethod @sb, 'Encode', @success OUT, 'url', 'utf-8'
-- Show the URL encoded string:
DECLARE @sEncoded nvarchar(4000)
EXEC sp_OAMethod @sb, 'GetAsString', @sEncoded OUT
PRINT @sEncoded
-- The result is: Why%20a%20%3E%20b%3F
-- If you prefer "+" instead of "%20" for SPACE chars:
DECLARE @numReplaced int
EXEC sp_OAMethod @sb, 'Replace', @numReplaced OUT, '%20', '+'
EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
-- Output is: Why+a+%3E+b%3F
-- To decode:
EXEC sp_OAMethod @sb, 'Decode', @success OUT, 'url', 'utf-8'
EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT
PRINT @sTmp0
-- Result is: Why a > b?
EXEC @hr = sp_OADestroy @sb
END
GO