2013-02-18 3 views
0

Я использую следующий скрипт для получения содержимого URL:Как игнорировать ошибки кодирования utf-8 при использовании WinHttp под WSH?

WinHTTP = WScript.CreateObject('WinHttp.WinHttpRequest.5.1') ; 
WinHTTP.Open('GET', theUrl) ; 
WinHTTP.Send() ; 
var content = WinHTTP.ResponseText ; 

, который работает отлично, за исключением, когда содержание URL является XML с UTF-8 кодировкой и есть Latin1 символов в нем.
Я получаю сообщение об ошибке, отсутствующей в многобайтовой кодовой странице, и скрипт завершается.

Как я могу сказать WinHttp игнорировать эту ошибку?

PS: Ошибка возникает в Windows Vista, но не в Windows XP (я не знаю о Win 7 или 8).

+0

Это позволит избежать специальных символов, таких как «/», «.», «:» И т. Д. В любом случае проблема заключается не в URL-адресе, а в контенте (тело ответа), которое является веб-страницей XML с кодировкой utf8 с некоторыми символами в кодировке latin1 и который запускает временную ошибку в Win Vista (но не в XP, странно). – GetFree

ответ

0

Я думаю, что мой ответ here (по варианту этого вопроса) также ответит на это.