Delphi DLL
Delphi DLL
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 Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Mime;
...
procedure TForm1.Button1Click(Sender: TObject);
var
mime: HCkMime;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
mime := CkMime_Create();
// Set the MIME body using some 8bit non-us-ascii characters:
CkMime_SetBody(mime,'á, é, í, ó, ú');
// Set the Content-Type
CkMime_putContentType(mime,'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.
CkMime_putEncoding(mime,'quoted-printable');
// Set the Charset to utf-8
CkMime_putCharset(mime,'utf-8');
// Examine the MIME:
Memo1.Lines.Add(CkMime__getMime(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"
CkMime_putCharset(mime,'iso-8859-1');
// Get the MIME again...
Memo1.Lines.Add(CkMime__getMime(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
CkMime_Dispose(mime);
end;