Sample code for 30+ languages & platforms
SQL Server

Decode Literal String

Decode a literal string. See Avoid Non-usascii Literal Strings in Source Code

Chilkat SQL Server Downloads

SQL Server
-- 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