views:

1918

answers:

3

I had used this in my code to set the Charset but IE did not like it. Any reason why?

context.Response.Charset = Encoding.UTF8.ToString();

I ended up having to set it to just context.Response.ContentType = "application/json;charset=utf-8" or context.Response.Charset = "utf-8"; instead. Not sure then what Encoding.UTF8.ToString(); would be utilized for if IE can't take it

+1  A: 
Encoding.UTF8.ToString();

doesn't return

"utf-8"

It returns

"System.Text.UTF8Encoding"

which is the name of the type that Encoding.UTF8 lives in.

The name of the type (or class definition) is always returned by Object.ToString() if there is no overriding method in the class (which is the case here).

Robert Harvey
Why was this downvoted?
Robert Harvey
+5  A: 
Context.Response.Charset = Encoding.UTF8.WebName;
// Gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding
Alex
+1  A: 

use Encoding.UTF8.WebName to get the value to be used in the charset.