OutgoingWebResponseContext не отображает неанглийские символы - PullRequest
0 голосов
/ 14 октября 2008

Мы внедрили сервис get в стиле REST, используя WCF в .Net 3.5. Этот сервис извлекает исследовательские документы. Строка 'synopsis', указанная в коде ниже, содержит неанглийские символы, которые браузер выводит как "????????".

private void ReturnSynopsisInfo (контекст IApiWebOperationContext, OutgoingWebResponseContext outgoingResp, синопсис строки) { SetResponseHeaders (outgoingResp, HttpStatusCode.OK); outgoingResp.ContentType = "text / html; charset = UTF-8"; context.Result = new MemoryStream (Encoding.ASCII.GetBytes (синопсис)); }

Любой совет очень ценится.

Спасибо.

1 Ответ

1 голос
/ 14 октября 2008

Кажется, вы объявляете кодировку как utf-8 в заголовке типа контента, но фактически используете кодировку ASCII в потоке. Кодировщик ASCII тихо изменит любой не-ascii символ на знак вопроса.

Вы, вероятно, хотите использовать UTF8Encoding рейтинг ASCIIEncoding.

...