загрузка веб-страницы... трабла с русским текстом

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

LE0
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 08.06.2005 (Ср) 9:55
Откуда: Электросталь

загрузка веб-страницы... трабла с русским текстом

Сообщение LE0 » 11.04.2006 (Вт) 9:39

есть такой код

Код: Выделить всё
        Dim wreg As Net.WebRequest = Net.WebRequest.Create(url)
        Dim wres As Net.WebResponse = wreg.GetResponse

        Dim ws As IO.Stream = wres.GetResponseStream

        Dim r As New IO.StreamReader(ws)
        Dim s As String = r.ReadToEnd
        My.Computer.FileSystem.WriteAllText(file, s, False)


в результирующем файле отсутствуют все русские символы...

кто их стырил?? )))


Как сделать, чтобы страница грузилась нормально?

LE0
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 08.06.2005 (Ср) 9:55
Откуда: Электросталь

Сообщение LE0 » 11.04.2006 (Вт) 9:40

п.с. VB.NET 2005

Faelor
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 11.04.2006 (Вт) 11:06

Сообщение Faelor » 11.04.2006 (Вт) 11:11

Кодировку не указал.
Меняй

Код: Выделить всё
       Dim ws As IO.Stream = wres.GetResponseStream
       Dim r As New IO.StreamReader(ws)



на

Dim sr As New StreamReader(wres.GetResponseStream, Encoding.Default)

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 11.04.2006 (Вт) 12:29

Faelor писал(а):Кодировку не указал.
Меняй

Код: Выделить всё
       Dim ws As IO.Stream = wres.GetResponseStream
       Dim r As New IO.StreamReader(ws)



на

Dim sr As New StreamReader(wres.GetResponseStream, Encoding.Default)


))) в респонсе с сервера нет русских букв)))))) ASCII
дефолт энкодинг нужно в последнюю строчку вставлять
Последний раз редактировалось Sebas 11.04.2006 (Вт) 14:12, всего редактировалось 1 раз.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Faelor
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 11.04.2006 (Вт) 11:06

Сообщение Faelor » 11.04.2006 (Вт) 13:14

э...не знаю, проверил как console.write(sr.readtoend) все работает

LE0
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 08.06.2005 (Ср) 9:55
Откуда: Электросталь

Сообщение LE0 » 12.04.2006 (Ср) 10:55

Faelor писал(а):Кодировку не указал.
Меняй

Код: Выделить всё
       Dim ws As IO.Stream = wres.GetResponseStream
       Dim r As New IO.StreamReader(ws)



на

Dim sr As New StreamReader(wres.GetResponseStream, Encoding.Default)


Благодарю, работает! :thumleft:


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 128

    TopList