|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
В общем-то, наверное просто не хватает знаний. Нагуглить тоже сходу не удалось. В общем стандартным кодом Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
пытаюсь получить с сайта обычный текстовый файл в виндовой кодировке. Браузером я его спокойно получаю. Тут же на последней строке получаю ошибку: "Достигнут конец файла при недопустимом состоянии текущей кодировки." что удается нагуглить обычно касается работы с этим компонентом из html и рекомендации сводятся к тому, чтобы задать правильную кодировку. пробовал перед send вставить строку Код: vbnet 1.
не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 01:50 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Shocker.Proпытаюсь получить с сайта обычный текстовый файл в виндовой кодировке. Браузером я его спокойно получаю. Тут же на последней строке получаю ошибку: "Достигнут конец файла при недопустимом состоянии текущей кодировки."А что сервер в реальности посылает? Скорее всего там несовпадение заявленой кодировки с реальной. MSXML намного более жесток к ошибкам чем браузеры. Shocker.Proпробовал перед send вставить строку Код: vbnet 1.
не помогло.И не поможет. Это заголовок для посылки а не для запроса. В запросе надо посылать Accept-Charset заголовок. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 02:22 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Без указания кодировки можно попробовать сначала загнать в байтовый массив, а затем в текстовую переменную: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 06:28 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
White OwlА что сервер в реальности посылает? Скорее всего там несовпадение заявленой кодировки с реальной. MSXML намного более жесток к ошибкам чем браузеры.Я ж говорю, знаний не хватило.... что там еще заголовок передается в ответе сервера, а не в самом файле. Пообщался сейчас с программером, который возвращает мне этот файл - он прописал кодировку windows-1251 в ответе. Но теперь другая ошибка - "Указанная кодировка не поддерживается." XM.setRequestHeader "Accept-Charset", "windows-1251" не помогает. ZVIБез указания кодировки можно попробовать сначала загнать в байтовый массив, а затем в текстовую переменную:получаю знаки вопроса на выходе ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 11:03 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Shocker.ProНо теперь другая ошибка - "Указанная кодировка не поддерживается."разобрались он отправлял "cp1251" поставили "windows-1251" - все заработало всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 11:11 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Shocker.Proполучаю знаки вопроса на выходе Тогда: t = StrConv(b, vbUnicode) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 11:14 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
ZVIShocker.Proполучаю знаки вопроса на выходе Тогда: t = StrConv(b, vbUnicode) и этот вариант работает, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 13:30 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Shocker.ProXM.setRequestHeader "Accept-Charset", "windows-1251" не помогает.Это должно помогать если сервер может выдавать ответ в нескольких кодировках и/или умеет самостоятельно конвертировать. Если кратко, то принцип такой: Клиент посылает POST запрос с установленным Accept-Charset. Сервер может эту команду вообще проигнорировать, либо принять к сведению. Если игнорирует - то ничего не делает. Если не игнорирует то прочитав с диска html и увидав в ней команду meta Content-Type, берет оттуда указаную кодировку и перед отправкой файла клиенту делает перекодировку текста на лету и отсылает клиенту файл с уже поправленным meta. Но кроме тэга в html есть еще и Content-Type в http заголовке, который есть всегда (должен быть всегда) и а вот meta тэг может отсутствовать... В итоге, из-за того что кодировка может быть указана в двух местах (в http заголовке и html заголовке) плюс реальный текст может быть в третей кодировке - проблем может быть море. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 18:56 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
White Owl, ясно, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 19:20 |
|
MSXML2 - Достигнут конец файла при недопустимом состоянии текущей кодировки.
|
|||
---|---|---|---|
#18+
Shocker.Pro, подскажите, у меня в своей тетрадочке есть примеры на эту тему, только там указано Set oHttp = CreateObject("MSXML2.XMLHTTP"), а у Вас еще и "60", что разница между этими объектами? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2011, 19:45 |
|
|
start [/forum/topic.php?fid=60&fpage=90&tid=2158248]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 350ms |
total: | 484ms |
0 / 0 |