2008-10-14 7 views
0

Nous avons implémenté un service d'obtention de style REST à l'aide de WCF dans .Net 3.5. Ce service récupère les documents de recherche. La chaîne 'synopsis' indiquée dans le code bolow contient des caractères non-anglais que le navigateur délivre comme "????????".OutgoingWebResponseContext n'affiche pas les caractères non anglais

private void ReturnSynopsisInfo (contexte IApiWebOperationContext, OutgoingWebResponseContext outgoingResp, synopsis string) { SetResponseHeaders (outgoingResp, HttpStatusCode.OK); outgoingResp.ContentType = "text/html; jeu de caractères = UTF-8"; context.Result = new MemoryStream (Encoding.ASCII.GetBytes (synopsis)); }

Tout conseil est très apprécié.

Merci.

Répondre

1

Il semble que vous déclariez que le codage est utf-8 dans l'en-tête de type de contenu, mais que vous utilisez réellement le codage ASCII dans le flux. L'encodeur ASCII changera silencieusement tout caractère non-ascii en un point d'interrogation.

Vous souhaitez probablement utiliser UTF8Encoding mieux que ASCIIEncoding.

+0

vous avez 100% raison. Je ne sais pas comment j'ai raté. Merci beaucoup –