Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Скачиваю html код и перевожу в string


Автор: ilya_cska 9.3.2008, 02:16
слздаю windows form application c++;

Скачиваю html код и перевожу в string, но вместо русских символов пишет ?????????? ????????????? ? Почему?
Код

                            String^ str = "http://ya.ru/";
                 WebClient^ myWeb = gcnew WebClient;
                 array<Byte>^ mybuffer = myWeb->DownloadData(str);
                 String^ download = Encoding::ASCII->GetString(mybuffer);
                 textBox1->AppendText(download);


И еще, можно как нибудь узнать, есть соедининение с интернетом. Нужно написать условие, типа
Код

if (!connect_internet)
{
    код;
}


Автор: Void 9.3.2008, 02:39
Цитата(ilya_cska @  9.3.2008,  04:16 Найти цитируемый пост)
вместо русских символов пишет ?????????? ????????????? ? Почему?

Потому что веб-страницы могут быть в различных кодировках (ya.ru, например, в Windows-1251), а ты декодируешь ASCII. Надо:
Код
String ^download = Encoding::GetEncoding("windows-1251")->GetString(mybuffer);

Кодировку можно определять из заголовка Content-Type в ответе HTTP сервера и тега <meta http-equiv="Content-Type" ... /> в теле страницы.

Автор: ilya_cska 9.3.2008, 13:38
Как сдельть проверку, есть ли соединение с нетом?
Код

                 String^ url = "http://ya.ru/";
                WebClient^ myClient = gcnew WebClient;
                array<Byte>^ myBuffer = myClient->DownloadData(url);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)