Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Абракадабра в скаченных страницах 
:(
    Опции темы
I_Am_Rock
Дата 29.12.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Извините, если название темы не отражает суть - не смог выдумать название лучше...

Вобщем, проблема - скачиваю страницу (конкретно - страницу Яндекса) с помощью АПИ-функции URLDownloadToFile. Когда потом скаченную страницу открываю и заливаю в текстбокс, то вместо русских символов пишется абракадабра (напр., вместо "привет" - "РїСЂРёРІРµС").

В чем проблема и главное - как ее решить?

Буду очень благодарен!
PM MAIL WWW   Вверх
Akina
Дата 29.12.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(I_Am_Rock @  29.12.2008,  20:22 Найти цитируемый пост)
В чем проблема 

В кодировке. Смотрите заголовок страницы - там явно указана кодировка charset=UTF-8. А вы ее интерпретируете как CP-1251. Понятно, что получается ерунда.

Цитата(I_Am_Rock @  29.12.2008,  20:22 Найти цитируемый пост)
как ее решить

Соответственно перекодировать.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
I_Am_Rock
Дата 29.12.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Цитата(Akina @  29.12.2008,  21:51 Найти цитируемый пост)
Соответственно перекодировать.

Ну, я в принципе так и думал - что в этом проблема.
Но StrConv - функция которая вроде как для этого... пробовал не получается. :( Или я не там ищу?

/ На одном сайте прочел что для этого нужно использовать MultiByteToWideChar и WideCharToMultiByte, это так?

Это сообщение отредактировал(а) I_Am_Rock - 29.12.2008, 22:27
PM MAIL WWW   Вверх
I_Am_Rock
Дата 29.12.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 523
Регистрация: 18.1.2008

Репутация: 12
Всего: 15



Нашел ответ... Если кому понадобится - пользуйтесь на здоровье.

Akina
Спасибо за подсказку.  smile 

Код

Public Enum CHARSET
  CS_DOS = 866
  CS_Windows = 1251
  CS_ISO = 28595
  CS_KOI8R = 20866
  CS_UTF7 = 65000
  CS_UTF8 = 65001
End Enum

Public Function ConvertCharset(ByVal strString As String, ByVal FromCharset As CHARSET, ByVal ToCharset As CHARSET) As String
  Dim lngLength As Long
  Dim strWideChar As String
  Dim strReturn As String
  Dim lngReturnLength As Long
  Dim dwFlags As Long
   
  If FromCharset = CS_UTF7 Or FromCharset = CS_UTF8 Then
    dwFlags = 0
  Else
    dwFlags = MB_PRECOMPOSED
  End If
   
  lngLength = Len(strString)
  strWideChar = String$(lngLength * 2, Chr$(0))
  strReturn = String$(lngLength * 2, Chr$(0))
  lngReturnLength = MultiByteToWideChar(FromCharset, dwFlags, strString, lngLength, strWideChar, lngLength)
  WideCharToMultiByte ToCharset, 0, strWideChar, lngReturnLength, strReturn, lngLength * 2, ByVal 0, 0
  ConvertCharset = Left$(strReturn, lngReturnLength)
End Function

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.