Sample code for 30+ languages & platforms
DataFlex

Set the Charset of an Email

See more Email Object Examples

Demonstrates the Chilkat Email.Charset property, which represents the main charset of the email, such as utf-8, iso-8859-1, or Shift_JIS. Chilkat stores text internally as Unicode; this property mainly controls how the body text is converted to bytes and labeled when MIME is generated. This example sets the charset to utf-8 and prints the resulting MIME.

Background: Email is transmitted as bytes, but text can contain characters from many languages. A charset (character encoding) is the rule that maps characters to bytes. The email's MIME declares its charset in the Content-Type header (e.g. text/plain; charset="utf-8") so the receiving client can correctly turn the bytes back into readable text. utf-8 is the modern default because it can represent virtually every character; using the wrong charset is what produces "mojibake" (garbled characters).

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoEmail
    String sTemp1

    //  Demonstrates the Email.Charset property, which controls the main charset
    //  used when the email's MIME is generated (e.g. utf-8, iso-8859-1, Shift_JIS).

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End

    Set ComSubject Of hoEmail To "Charset example"
    Set ComBody Of hoEmail To "This email body will be labeled with the utf-8 charset."

    //  Set the main charset.
    Set ComCharset Of hoEmail To "utf-8"

    Get ComCharset Of hoEmail To sTemp1
    Showln "Charset = " sTemp1

    //  The generated MIME labels the body with the utf-8 charset.
    Get ComGetMime Of hoEmail To sTemp1
    Showln sTemp1


End_Procedure