title: PL/SQL: UTL_HTTP POST with UTF8 string results in broken characters
body: <p>I want to send an UTF8 json string via utl_http to a node.js Server via POST. Sending the string</p>
  
  <pre><code>["Sant Julià de Lòria"]
  </code></pre>
  
  <p>does arrive as</p>
  
  <pre><code>["Sant Juliï¿½ de Lï¿½ria"]
  </code></pre>
  
  <p>The PL/SQL code goes like:</p>
  
  <pre><code>FUNCTION http_post_varchar(
      p_url          VARCHAR2,
      p_request_body VARCHAR2 )
    RETURN VARCHAR2
  AS
    req   UTL_HTTP.REQ;
    resp  UTL_HTTP.RESP;
    value VARCHAR2(32767);  -- URL to post to
    v_url VARCHAR2(200) := p_url;
    -- Post Parameters
    v_param VARCHAR2(32767) := p_request_body;
    v_param_length NUMBER := length(v_param);
  BEGIN
    req := UTL_HTTP.BEGIN_REQUEST (url=&gt; v_url, method =&gt; 'POST');
    UTL_HTTP.SET_HEADER (r      =&gt;  req,
                         name   =&gt;  'Content-Type',
                         value  =&gt;  'application/json;charset=UTF-8');
    UTL_HTTP.SET_HEADER (r      =&gt;   req,
                         name   =&gt;   'Content-Length',
                         value  =&gt;   v_param_length);
    UTL_HTTP.WRITE_TEXT (r      =&gt;   req,
                         data   =&gt;   v_param);
  
    resp := UTL_HTTP.GET_RESPONSE(req);
    LOOP
      UTL_HTTP.READ_LINE(resp, value, TRUE);    
    END LOOP;
    UTL_HTTP.END_RESPONSE(resp);
    RETURN 'OK';
  EXCEPTION
    WHEN UTL_HTTP.END_OF_BODY THEN
      UTL_HTTP.END_RESPONSE(resp);
    RETURN 'OK';
  END http_post_varchar;
  </code></pre>