2009-07-08 16 views
6

Je l'avais utilisé dans mon code pour définir le jeu de caractères, mais IE n'a pas aimé. Une raison pour laquelle?context.Response.Charset = Encoding.UTF8.ToString();

context.Response.Charset = Encoding.UTF8.ToString(); J'ai fini par devoir mettre à juste context.Response.ContentType = "application/json; charset = utf-8" ou context.Response.Charset = "utf-8"; au lieu. Pas sûr alors quel Encoding.UTF8.ToString(); serait utilisé pour si IE ne peut pas prendre

Répondre

5
Encoding.UTF8.ToString(); 

ne retourne pas

"utf-8" 

Il retourne

"System.Text.UTF8Encoding" 

qui est le nom du type qui vit Encoding.UTF8

Le nom du type (ou définition de classe) est toujours renvoyé par Object.ToString() s'il n'y a pas de m ethod dans la classe (ce qui est le cas ici).

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

Obtient le nom enregistré auprès de l'IANA (Internet Assigned Numbers Authority) pour le codage en cours.

1

utilisez Encoding.UTF8.WebName pour obtenir la valeur à utiliser dans le jeu de caractères.

Questions connexes