Sample code for 30+ languages & platforms
SQL Server

Set a Preferred Charset for an Email

See more Email Object Examples

Demonstrates the Chilkat Email.PreferredCharset property. It applies only when building an email with non-English characters where the charset has not been explicitly set. Chilkat normally auto-selects a default charset per language (Chinese gb2312, Japanese shift_JIS, Korean ks_c_5601-1987, Thai windows-874, others iso-8859-*), and this property lets you steer that choice — for example choosing iso-2022-jp for Japanese. It is a preference, not a forced conversion: if the preferred charset cannot represent the text, it is ignored. This example sets a preferred charset.

Background: A single language often has several legacy charsets — Japanese, for instance, can be encoded as shift_JIS, euc-jp, or iso-2022-jp. Some mail environments expect one particular encoding, so PreferredCharset lets you nudge Chilkat toward it. Contrast this with the Charset property, which forces a specific charset: PreferredCharset is only a hint that Chilkat honors when it fits.

Chilkat SQL Server Downloads

SQL Server
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @sTmp0 nvarchar(4000)
    --  Demonstrates the Email.PreferredCharset property.  It only applies when building an
    --  email that contains non-English characters and no charset is explicitly set.  Chilkat
    --  will prefer this charset if it can represent the email's text; otherwise it is ignored.

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

    EXEC sp_OASetProperty @email, 'Subject', 'Preferred charset example'
    EXEC sp_OASetProperty @email, 'Body', 'Japanese text would go here.'

    --  Prefer iso-2022-jp instead of the default shift_JIS for Japanese text.
    EXEC sp_OASetProperty @email, 'PreferredCharset', 'iso-2022-jp'


    EXEC sp_OAGetProperty @email, 'PreferredCharset', @sTmp0 OUT
    PRINT 'PreferredCharset = ' + @sTmp0

    EXEC @hr = sp_OADestroy @email


END
GO