кодировки

Тема в разделе "Lotus - Программирование", создана пользователем D!m@n, 8 сен 2007.

Статус темы:
Закрыта.
  1. D!m@n

    D!m@n Гость

    Доброго времени суток!

    Есть код, который берет из инета содержимое веб-страницы и запихивает в поле текущего документа. Сама веб-страница в Win-1251.
    В результате в поле вместо русских букв - абракадабра.

    Провел эксперимент: если сохранить содержимое этого поля в файле с помощью NotesStream, используя кодировку Unicode, а потом открыть в браузере как Win-1251 - то появляются русские буквы :(

    О чем это говорит? И как привести получаемый контент к нормальному виду?

    Код прилагаю.

    Заранее спасибо!

    Код (Text):
        Dim uiw As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim thisdoc As NotesDocument
    Dim httpobj As Variant
    Dim url As String

    Set uidoc=uiw.CurrentDocument
    Set thisdoc=uidoc.Document

    url=thisdoc.URL(0)

    Set httpobj=CreateObject("winhttp.winhttprequest.5.1")

    Call httpobj.Open("GET", url, False)

    'это кодировка самой строки - урла (?)
    httpobj.Option(2) = "Windows-1251" ' WinHttpRequestOption_URLCodePage = 2  

    Call httpobj.SetRequestHeader ("Accept-Language", "ru")
    httpobj.SetRequestHeader "Accept-Charset", "Windows-1251"
    httpobj.setRequestHeader "Accept-Encoding", "gzip, deflate"

    httpobj.setRequestHeader "Content-Language", "ru"
    httpobj.setRequestHeader "Content-Charset", "Windows-1251"
    httpobj.setRequestHeader "Content-Encoding", "gzip, deflate"
    httpobj.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=Windows-1251"

    httpobj.setRequestHeader "CACHE_CONTROL", "no-cache"
    httpobj.setRequestHeader "CONNECTION", "Close"

    Call httpobj.Send()

    Call thisdoc.ReplaceItemValue("receivedText", httpobj.ResponseText)

    Call uidoc.Refresh

    Set httpobj=Nothing
     
  2. D!m@n

    D!m@n Гость

    Еще одна странность: проблема возникает лишь при загрузке некоторых веб-страниц в Win-1251. При загрузке других страниц в той же кодировке - все норм.

    Проблему удалось кое-как коряво решить: если неправильно пришедшую страницу сохранить с помощью NotesStream в Win-1252, а открыть в Win-1251, то все заработает.

    Товарищи, подскажите, как бы ее решить поэлегантнее? И каковы могут причины этой фигни? :(

    Заранее спасибо!
     
Загрузка...
Похожие Темы - кодировки
  1. AleksP
    Ответов:
    0
    Просмотров:
    1.399
  2. xKlonx
    Ответов:
    6
    Просмотров:
    3.454
  3. Kizarek86
    Ответов:
    11
    Просмотров:
    16.375
Статус темы:
Закрыта.

Поделиться этой страницей