PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkEmail.pb"
Procedure ChilkatExample()
; 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.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkEmail::setCkSubject(email, "Preferred charset example")
CkEmail::setCkBody(email, "Japanese text would go here.")
; Prefer iso-2022-jp instead of the default shift_JIS for Japanese text.
CkEmail::setCkPreferredCharset(email, "iso-2022-jp")
Debug "PreferredCharset = " + CkEmail::ckPreferredCharset(email)
CkEmail::ckDispose(email)
ProcedureReturn
EndProcedure