Sample code for 30+ languages & platforms
Java

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

Chilkat2 Java
import com.chilkatsoft.chilkat2.Mime;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Mime mime = new Mime();

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

        // Set the Content-Type
        mime.setContentType("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.setEncoding("quoted-printable");

        // Set the Charset to utf-8
        mime.setCharset("utf-8");

        // Examine the MIME:
        System.out.println(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";
        mime.setCharset("iso-8859-1");

        // Get the MIME again...
        System.out.println(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
    }
}