Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кодировка ASP.NET

369
31 января 2012 года
Kesano
451 / / 09.10.2007
Запарился... Помогите c ASP.NET (и\или vb.net)...

Есть страница

page.aspx
 
Код:
<%@ Register TagPrefix="uc1" TagName="wc" Src="~/controls/test.ascx" %>
<uc1:wc id="Wc1" runat="server"></uc1:wc>


Которая использует control-файлы, загружающие данные с сервера (прокси-скрипт)

test.ascx
 
Код:
<%@ Control Language="vb" Inherits="page_filter" enableViewState="False" CodeFile="test.ascx.vb" %>
<%=GetPageFilter()%>


test.ascx.vb
Код:
Partial Class page_filter
    Inherits System.Web.UI.UserControl
 
    ' функция для скачивания любых файлов по http
    private function GetPageHTTP(ByVal URL As String) As String
        Dim wc As New System.Net.WebClient()
        Dim s As System.IO.Stream = wc.OpenRead(URL)
        Dim r As String
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(s, False)
        r = sr.ReadToEnd()
        Return r
    end function


    ' функция для скачивания формы
    public function GetPageToursFilter_bigform() As String
                ' достаем QUERY_STRING
       Dim URL as String
       Dim wc As New System.Net.WebClient()        
       Dim qs as String
       qs = ""
    For Each s As String In Request.QueryString
       qs = qs & s & "=" & Request.QueryString(s) & "&"
    Next
                ' Подгружаем данные
        return GetPageHTTP("http://www.site.ru/?" & qs)
         
    end function
End Class


Данные от сервер возвращаются в win1251. Обжалованию не подлежит...
И нужно то, что ретурнит GetPageHTTP перекодировать в UTF8 ...

Или насильно выдать windows-1251
пытаюсь так, вставляю в начало page.aspx
<%Response.Charset="windows-1251"%>

А в ответ выдает кракозяблы, даже не похожие ни на что... (как выглядит "кривая" вин1251, кои и утф8 - знаю...)

Помогите, пожалуйста.
369
31 января 2012 года
Kesano
451 / / 09.10.2007
заменил
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(s, False)
на
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(s, System.Text.Encoding.GetEncoding("windows-1251"), False)

больше ничего не менял...
И теперь из вин1251 оно делает utf8 ... проблема решена, но...
объясните суть, пожалуйста!!!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог