Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

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

  final mime = CkMime();

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

  // Set the Content-Type
  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.
  mime.encoding = 'quoted-printable';

  // Set the Charset to utf-8
  mime.charset = 'utf-8';

  // Examine the MIME:
  print(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.charset = 'iso-8859-1';

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