|
|
|
| пытаюсь отправить на удаленный сервер текст (strMessage) через POST-запрос. Сервер принимает данные, но никак не могу настроить кодировку, потому как приходит файл все время кодированным в UTF-8. нужно, чтобы уходил в windows-1251.
Set oHttpPost = CreateObject("Microsoft.XMLHTTP")
oHttpPost.Open "POST", "http://dsp.p2e.ru/grants.asp", False
oHttpPost.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHttpPost.send (strMessage) | |
|
| |
|
|
|
| Крутой вопрос для этого сайта. Но чисто из принципа влезу и сюда. Попробуй поменять значения ключей в реестре. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage В былые временя я так фотошоп6 научил кириллице, меняя 1250, 1252 на 1251. Может и тут что-нибудь в этом роде?? | |
|
| |
|
|
|
| Нет. Тут дело в другом. В Access отображается все верно, но при передаче данных XMLHTTP автоматически кодирует при отправке строку в UTF-8. Получается я отправляю в win-1251 а сервер получает в UTF-8. | |
|
| |
|
|
|
| попробуйте добавить что-то вроде
oHttpPost.setRequestHeader("Content-Type", "text/html; charset=windows-1251")
ну или utf-8.... | |
|
| |
|
|
|
| Неа, не получается. Ругается и ничего не отсылает. Простую строку он полюбому будет кодировать в UTF-8. Как-то сделается через ADO.STREAM.. но как я еще не понял. | |
|
| |
|
|
|
| Может нужно преобразовать строку в байтовый массив и отправлять его?
ADO.STREAM, кстати, умеет работать и со строками и с двоичными данными. | |
|
| |
|
|
|
| через ADO.STREAM сделается что? перекодировка? | |
|
| |
|
|
|
| Может я не прав, но ADO делает как бы обертку, не строку, а XMLHTTP по своей спецификации строку перекодирует в UTF-8, но только строку.
Байтовый вариант не подходит, потому что мне нужно передать именно строку на сервер.. последовательность адресных данных чререз разделитель.
Может еще через чего-то можно передать строку на сервер? | |
|
| |
|
|
|
| Я имел ввиду это:
Dim arr() As Byte
'Преобразуем Unicode в ANSI, а затем - в байтовый массив
arr = StrConv(strMessage, vbFromUnicode)
'Отправляем массив
oHttpPost.send arr
|
| |
|
| |
|