2009-07-08 14 views
6

Ich hatte dies in meinem Code verwendet, um den Zeichensatz zu setzen, aber IE mochte es nicht. Irgendein Grund warum?context.Response.Charset = Codierung.UTF8.ToString();

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

Ich musste es auf context.Response.ContentType = "application/json; charset = utf-8" oder context.Response.Charset = "utf-8" setzen; stattdessen. Nicht sicher, was Encoding.UTF8.ToString(); genutzt werden würde, wenn IE kann es nicht

Antwort

5
Encoding.UTF8.ToString(); 

kehrt nicht

"utf-8" 

Es

"System.Text.UTF8Encoding" 

zurück, die der Name des Typs ist, der Encoding.UTF8 Leben in.

Der Name des Typs (oder der Klassendefinition) wird immer von Object.ToString() zurückgegeben, wenn es kein überschreibendes m gibt ethod in der Klasse (was hier der Fall ist).

25
Context.Response.Charset = Encoding.UTF8.WebName; 

Ruft den mit der Internet Assigned Numbers Authority (IANA) registrierten Namen für die aktuelle Codierung ab.

1

Verwenden Sie Encoding.UTF8.WebName , um den Wert zu erhalten, der im Zeichensatz verwendet werden soll.