Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Set a Preferred Charset for an Email

See more Email Object Examples

Demonstrates the Chilkat Email.PreferredCharset property. It applies only when building an email with non-English characters where the charset has not been explicitly set. Chilkat normally auto-selects a default charset per language (Chinese gb2312, Japanese shift_JIS, Korean ks_c_5601-1987, Thai windows-874, others iso-8859-*), and this property lets you steer that choice — for example choosing iso-2022-jp for Japanese. It is a preference, not a forced conversion: if the preferred charset cannot represent the text, it is ignored. This example sets a preferred charset.

Background: A single language often has several legacy charsets — Japanese, for instance, can be encoded as shift_JIS, euc-jp, or iso-2022-jp. Some mail environments expect one particular encoding, so PreferredCharset lets you nudge Chilkat toward it. Contrast this with the Charset property, which forces a specific charset: PreferredCharset is only a hint that Chilkat honors when it fits.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Email;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  email: TEmail;

begin
  //  Demonstrates the Email.PreferredCharset property.  It only applies when building an
  //  email that contains non-English characters and no charset is explicitly set.  Chilkat
  //  will prefer this charset if it can represent the email's text; otherwise it is ignored.

  email := TEmail.Create;
  email.Subject := 'Preferred charset example';
  email.Body := 'Japanese text would go here.';

  //  Prefer iso-2022-jp instead of the default shift_JIS for Japanese text.
  email.PreferredCharset := 'iso-2022-jp';

  WriteLn('PreferredCharset = ' + email.PreferredCharset);


  email.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.