Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local mime = chilkat.Mime.new()

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

-- Set the Content-Type
mime.content_type = "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.
mime.encoding = "quoted-printable"

-- Set the Charset to utf-8
mime.charset = "utf-8"

-- Examine the MIME:
print(mime:get_mime())

-- 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";
mime.charset = "iso-8859-1"

-- Get the MIME again...
print(mime:get_mime())

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