ContentType.CharSet ContentType.CharSet ContentType.CharSet ContentType.CharSet Property


Gets or sets the value of the charset parameter included in the Content-Type header represented by this instance.

 property System::String ^ CharSet { System::String ^ get(); void set(System::String ^ value); };
public string CharSet { get; set; }
member this.CharSet : string with get, set
Public Property CharSet As String

Property Value

A String that contains the value associated with the charset parameter.


The following code example displays the value of the property.

static void CreateMessageWithMultipleViews( String^ server, String^ recipients )
   // Create a message and set up the recipients.
   MailMessage^ message = gcnew MailMessage( L"",recipients,L"This email message has multiple views.",L"This is some plain text." );
   // Construct the alternate body as HTML.
   String^ body = L"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
   body = String::Concat( body, L"<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">" );
   body = String::Concat( body, L"</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text" );
   body = String::Concat( body, L"</FONT></DIV></BODY></HTML>" );
   // Add the alternate body to the message.
   AlternateView^ alternate = AlternateView::CreateAlternateViewFromString(body);

   // Send the message.
   SmtpClient^ client = gcnew SmtpClient( server );
   client->Credentials = CredentialCache::DefaultNetworkCredentials;
   client->Send( message );
   // Display the values in the ContentType for the attachment.
   ContentType^ c = alternate->ContentType;
   Console::WriteLine( L"Content type" );
   Console::WriteLine( c );
   Console::WriteLine( L"Boundary {0}", c->Boundary );
   Console::WriteLine( L"CharSet {0}", c->CharSet );
   Console::WriteLine( L"MediaType {0}", c->MediaType );
   Console::WriteLine( L"Name {0}", c->Name );
   Console::WriteLine( L"Parameters: {0}", c->Parameters->Count );
   IEnumerator^ myEnum = c->Parameters->GetEnumerator();
   while ( myEnum->MoveNext() )
      DictionaryEntry^ d = safe_cast<DictionaryEntry^>(myEnum->Current);
      Console::WriteLine( L"{0} = {1}", d->Key, d->Value );


public static void CreateMessageWithMultipleViews(string server, string recipients)
	// Create a message and set up the recipients.
	MailMessage message = new MailMessage(
		"This email message has multiple views.",
		"This is some plain text.");

	// Construct the alternate body as HTML.
	string body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
	body += "<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">";
	body += "</HEAD><BODY><DIV><FONT face=Arial color=#ff0000 size=2>this is some HTML text";
	body += "</FONT></DIV></BODY></HTML>";

	ContentType mimeType = new System.Net.Mime.ContentType("text/html");
	// Add the alternate body to the message.
	AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, mimeType);

	// Send the message.
	SmtpClient client = new SmtpClient(server);
	client.Credentials = CredentialCache.DefaultNetworkCredentials;

    try {
	catch (Exception ex) {
	  Console.WriteLine("Exception caught in CreateMessageWithMultipleViews(): {0}", 
                  ex.ToString() );			  
	// Display the values in the ContentType for the attachment.
	ContentType c = alternate.ContentType;
	Console.WriteLine("Content type");
	Console.WriteLine("Boundary {0}", c.Boundary);
	Console.WriteLine("CharSet {0}", c.CharSet);
	Console.WriteLine("MediaType {0}", c.MediaType);
	Console.WriteLine("Name {0}", c.Name);
	Console.WriteLine("Parameters: {0}", c.Parameters.Count);
	foreach (DictionaryEntry d in c.Parameters)
		Console.WriteLine("{0} = {1}", d.Key, d.Value);


In the following example of a Content-Type header, the value of the CharSet property is "us-ascii".

content-type: application/x-myType; charset=us-ascii

Set this property to null or String.Empty to remove the charset information from the header.

A grammar that details the syntax of the Content-Type header is described in RFC 2045 Section 5.1. An in-depth discussion of the charset parameter is contained in RFC 2046 Section 4.1.2. These RFCs are available at

Applies to