Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Mime

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

loo_Mime = create oleobject
li_rc = loo_Mime.ConnectToNewObject("Chilkat.Mime")
if li_rc < 0 then
    destroy loo_Mime
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

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

// Set the Charset to utf-8
loo_Mime.Charset = "utf-8"

// Examine the MIME:
Write-Debug loo_Mime.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"
loo_Mime.Charset = "iso-8859-1"

// Get the MIME again...
Write-Debug loo_Mime.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


destroy loo_Mime