#postgresql #http #content-type #webapi
Вопрос:
У меня есть несколько баз данных postgresql в разных кодировках (не utf8), и я пытаюсь сделать http-запрос к некоторым webapi с кодировкой utf-8. Все работает нормально, если в теле запроса нет национальных символов.
В следующем коде удаленный ответ HTTP-сервера Состояние HTTP 400
DO
$
declare
sCONTENT varchar(2000) := '{"action": "Тест"}'; -- here some non-ascii chars
rREQUEST http_request;
rRESPONSE http_response;
sRESPONSE_VAL varchar(2000);
begin
rREQUEST.method = 'POST';
rREQUEST.uri = '<some webapi url>';
rREQUEST.content_type = 'application/json;charset=utf-8';
-- how to deal with bytea ?!
-- rREQUEST.content := convert_to(sCONTENT, 'UTF8');
rREQUEST.content := sCONTENT;
rRESPONSE := http(rREQUEST);
if rRESPONSE.status != 200 then
RAISE NOTICE 'http status %', rRESPONSE.status;
end if;
sRESPONSE_VAL := rRESPONSE.content;
end;
$
language PLPGSQL;
есть ли способ отправить преобразованные данные utf-8?
Комментарии:
1. Вам нужно показать нам код вашей
http()
функции