|
|
|
Forum Guru
      
участник
Last Login: 07.04.2005 7:18
Сообщ.: 51,
Visits: 562
|
|
столкнулся с такой фишкой. отправляю xml файл методом POST, и он всегда приходит на сервер в кодировке utf-8, хотя надо бы, чтоб приходил в win-1251. что нужно делать - давать понять объекту xmlhttp, что мне нужна отправка в заданной кодировке, или в хедерах отправляемого запроса где-то явно указывать эту win-1251?
и еще: если кто-то знает - подскажите, где можно найти справочную инфу по методам и своиствам xmlhttp? на search.microsoft.com уже кучу всякой шелухи перерыл, но осмысленной инфы не нашел. мож не так ищу...
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Может это поможет http://support.microsoft.com/default.aspx?scid=kb;en-us;Q290591
Документация есть на MSDN http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/xmobjXMLHttpRequest.asp?frame=true
|
|
|
|
|
Forum Guru
      
участник
Last Login: 07.04.2005 7:18
Сообщ.: 51,
Visits: 562
|
|
это все я видел и пытался применить. безуспешно...
как я понял, нужно правильно прописать заголовки в objXMLHTTP.SetRequestHeader, указать кодировку там. не получается. кодировка windows-1251 прописывается в заголовке (это видно и через phpinfo() , если отправлять запрос на скрипт, содержащий эту команду, и через objXMLHTTP.GetAllResponseHeaders), но толку от неё - ноль. текст в передаваемом файле все равно перекодируется в UTF-8.
остается еще мысль, что я неправильно пишу синтаксис (MS любит на это блажить, то прописная буква не там, то пробел, и т.д.) кодировки. или, например, в этом случае кодировка должна быть например не windows-1251, а win1251 или win-1251. или 'windows-1251'.
короче, такой вот гимор.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 16.06.2006 15:16
Сообщ.: 832,
Visits: 9 229
|
|
| попробуй свой документ перед отправкой загнать в Stream и там явно указать кодировку, чтобы он преобразование сделал, а уже затем полученный документ отправляй
|
|
|
|
|
Forum Guru
      
участник
Last Login: 07.04.2005 7:18
Сообщ.: 51,
Visits: 562
|
|
недопонял.
если я загоню документ в stream и перекодирую в utf, то получится, что я и на входе в xmlhttp получу utf. то есть, теперь xmlhttp просто перешлет этот док, не изменяя его. удаленный сервер опят получит utf.
а мне нужно, чтобы XMLHTTP не перекодировал ничего, а отправил в win1251, как его и просят. потому-что входящая сторона, похоже, кроме win1251 ничего не понимает и принимает всё входящее файло за кодированное в win1251. там самописные скрипты.
кстати, что такое этот стрим, как им пользоваться? не сталкивался ни разу.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 16.06.2006 15:16
Сообщ.: 832,
Visits: 9 229
|
|
вот примерчик, только правда полученного ответа, разберешься сам я надеюсь:
Dim f As Integer Dim stm As ADODB.Stream 300 Set stm = New ADODB.Stream 310 stm.Open 320 stm.Charset = "Windows-1251" 330 stm.Type = adTypeBinary 340 stm.Write objSrvHTTP.responseBody 350 stm.Position = 0 360 stmp = modFiles.FileTempCreate 370 stm.SaveToFile stmp, adSaveCreateOverWrite 380 f = FreeFile 390 Open stmp For Input Access Read Lock Read Write As f 400 s = Input$(LOF(f), f) 410 Close #f 420 ResponseMsg = s
|
|
|
|
|
Forum Guru
      
участник
Last Login: 07.04.2005 7:18
Сообщ.: 51,
Visits: 562
|
|
пара слов в "защиту" компоненты. печально...
http://discuss.joelonsoftware.com/default.asp?joel.3.48504.5
|
|
|
|