2013-05-31 3 views
1

Я разрабатываю приложение Windows pone 8, которое вызывает сторонний веб-сервис. Эта служба возвращает некоторый текст со следующим ответом:Как правильно определить кодировку веб-службы?

HTTP/1.1 200 OK 
Date: xxxxxxxxxx 
Server: Apache/xxxxxxxxx 
X-Powered-By: PHP/5xxxxxxxxxx 
Vary: Accept-Encoding 
Transfer-Encoding: chunked 
Content-Type: text/html 

Я получаю информацию от веб-сервиса с использованием WebClient и метод UploadStringAsync. В ответ я получаю персонажей вроде & aacute; и другие ... Как я могу это исправить? Я попытался изменить кодировку WebClient (не зная слишком много, что я действительно делаю) без успеха.

EDIT:

Я reveiving ответ JSON, который содержит текст, как этот (на нескольких языках, помимо английского):

"Описание": "Подкаст дель програма де Радио Эль-D & iacute;. Aqu & iacute; encontrar & aacute; с.о. & iacute; AAD & iacute; А»

[Я добавил пространство между & и другими персонажами, потому что в противном случае SO показывает правильный текст]

+0

Действительно ли это возврат HTML? Тогда это, вероятно, сообщение об ошибке, а не ответ веб-службы. –

+0

Каков ответ, который вы получаете и чего вы ожидаете? –

+0

@JohnSaunders: его возвращающий ответ JSON, содержащий строки, отформатированные как HTML ..., который не входит в мой контроль, или, возможно, я делаю запрос неправильно или у него отсутствует какой-то важный заголовок. –

ответ

1

акцентированные специальные символы возвращаются из WebService, поскольку ISO-8859-1 является набор символов по умолчанию в большинстве браузеров, и вы можете просто отправьте полученные строки в браузер для правильного декодирования.

Но, так как вы не отправить его в браузер, вы также можете расшифровать их самостоятельно с:

string json = "Podcast del programa de Radio El Día. Aquí encontrarás día a día"; 
string decoded = HttpUtility.HtmlDecode(json); 

От this SO link вы будете перенаправлены here для версии HttpUtility, которые вы можете запустить на Windows Phone.

+0

Ley me kiss you bro ;-) –

Смежные вопросы