SQL Server
SQL Server
Decode Literal String
Decode a literal string. See Avoid Non-usascii Literal Strings in Source CodeChilkat 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
-- It's best not to use non-usascii literal strings in source code.
-- Instead, use a binary encoded representation of the string.
-- This is the string "44ης Οδός, αρ.2" encoded as quoted-printable.
-- Use Chilkat's online tool to prepare encoded strings: Online Binary Encoder
-- Note: For strings that have very few us-ascii chars, it's better to use base64 encoding instead of quoted-printable.
DECLARE @s nvarchar(4000)
SELECT @s = '44=CE=B7=CF=82 =CE=9F=CE=B4=CF=8C=CF=82, =CE=B1=CF=81.2'
DECLARE @sb int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
DECLARE @success int
EXEC sp_OAMethod @sb, 'AppendEncoded', @success OUT, @s, 'quoted-printable'
-- For programming languages where strings are exposed bytes, you can tell Chilkat globally
-- to give you the utf-8 byte representation.
-- For programming languages where strings are opaque objects, such as C#, it doesn't matter.
DECLARE @glob int
EXEC @hr = sp_OACreate 'Chilkat.Global', @glob OUT
EXEC sp_OASetProperty @glob, 'DefaultUtf8', 1
DECLARE @s nvarchar(4000)
EXEC sp_OAMethod @sb, 'GetAsString', @s OUT
EXEC @hr = sp_OADestroy @sb
EXEC @hr = sp_OADestroy @glob
END
GO