Sample code for 30+ languages & platforms
SQL Server

Setting the MIME Text Charset (such as utf-8, iso-8859-1, etc.)

See more MIME Examples

Demonstrates how setting the Charset property controls the character encoding used for the text body in a MIME message.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    --  This example assumes the Chilkat API to have been previously unlocked.
    --  See Global Unlock Sample for sample code.

    DECLARE @mime int
    EXEC @hr = sp_OACreate 'Chilkat.Mime', @mime OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    --  Set the MIME body using some 8bit non-us-ascii characters:
    EXEC sp_OAMethod @mime, 'SetBody', NULL, 'á, é, í, ó, ú'

    --  Set the Content-Type
    EXEC sp_OASetProperty @mime, 'ContentType', 'text/plain'

    --  Set the Content-Transfer-Encoding to "quoted-printable";
    --  so it's easy to see the bytes used to encode each character
    --  (i.e. it will be easy to see that utf-8 uses 2-bytes for 
    --  non-us-ascii characters such as "á", whereas a character
    --  encoding such as iso-8859-1 will use one byte per character.
    EXEC sp_OASetProperty @mime, 'Encoding', 'quoted-printable'

    --  Set the Charset to utf-8
    EXEC sp_OASetProperty @mime, 'Charset', 'utf-8'

    --  Examine the MIME:
    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    --  The MIME should look like this:

    --  Content-Transfer-Encoding: quoted-printable
    --  Content-Type: text/plain; charset="utf-8";
    --  
    --  =C3=A1, =C3=A9, =C3=AD, =C3=B3, =C3=BA

    --  Now change the Charset to "iso-8859-1";
    EXEC sp_OASetProperty @mime, 'Charset', 'iso-8859-1'

    --  Get the MIME again...
    EXEC sp_OAMethod @mime, 'GetMime', @sTmp0 OUT
    PRINT @sTmp0

    --  Now the MIME should look like this:

    --  Content-Transfer-Encoding: quoted-printable
    --  Content-Type: text/plain; charset="iso-8859-1";
    --  
    --  =E1, =E9, =ED, =F3, =FA

    EXEC @hr = sp_OADestroy @mime


END
GO