ContentType.CharSet Property

 

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

Namespace:   System.Net.Mime
Assembly:  System (in System.dll)

public string CharSet { get; set; }

Property Value

Type: System.String

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

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 http://www.ietf.org.

The following code example displays the value of the property.

public static void CreateMessageWithMultipleViews(string server, string recipients)
{
	// Create a message and set up the recipients.
	MailMessage message = new MailMessage(
		"jane@contoso.com",
		recipients,
		"This e-mail 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);
	message.AlternateViews.Add(alternate);

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

    try {
	  client.Send(message);
	}
	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(c.ToString());
	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);
	}
	Console.WriteLine();
	alternate.Dispose();
}

.NET Framework
Available since 2.0
Return to top
Show: