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