Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL oMime

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oMime := CreateObject("Chilkat.Mime")

//  Set the MIME body using some 8bit non-us-ascii characters:
oMime:SetBody("á, é, í, ó, ú")

//  Set the Content-Type
oMime: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.
oMime:Encoding := "quoted-printable"

//  Set the Charset to utf-8
oMime:Charset := "utf-8"

//  Examine the MIME:
? oMime:GetMime()

//  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";
oMime:Charset := "iso-8859-1"

//  Get the MIME again...
? oMime:GetMime()

//  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

oMime:destroy()