title: Node js characters returned in wrong encoding "€" = "ï¿½"
body: <p>Simple program using restify to handle calls. I have this test function that I send back "€" from. The result in browser is "ï¿½". How come?</p>
  
  <pre><code>server.get('/test', function(req, res, next) {
    res.send(200, "€");
  });
  </code></pre>
  
  <p>I googled this and found people with charcter encoding problems who have solved it by setting charset to utf-8:</p>
  
  <pre><code>res.header("Content-Type", "application/json; charset=utf-8"); 
  </code></pre>
  
  <p>no difference. So I tried: </p>
  
  <pre><code>res.set({
    'Content-Type' : 'text/plain',
    'charset' : 'utf-8'
  });
  </code></pre>
  
  <p>Now I got back ï¿½ instead of "ï¿½" that is no quotation marks around the response. </p>
  
  <p>If i save my code as UTF-8 instead of the default encoding used in visual studio (Western Europe (Windows) Codepage 1252) i get back "Ã¶". Apparantly it has an effect on the result, but not the desired. </p>
  
  <p>Obviously there is something I have missed with handling of character encodings in nodejs.</p>
  
  <p>If i view the response in fiddler, the response is correctly displayed as ö, but in the browsers it is displayed as "Ã¶". To make sure no viewer plugin in chrome is messing with the result (since it displayed correctly in fiddler) i tried it in IE and Firefox too.</p>
  
  <p>Here is a raw view of fiddler response</p>
  
  <pre><code>HTTP/1.1 200 OK
  Content-Type: text/plain
  charset: utf-8
  Content-Length: 2
  Access-Control-Allow-Origin: *
  Access-Control-Allow-Headers: Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, Api-Version, Response-Time
  Access-Control-Allow-Methods: GET
  Access-Control-Expose-Headers: Api-Version, Request-Id, Response-Time
  Connection: Keep-Alive
  Content-MD5: RPLFC4OPkpcNLBHi+pi8fQ==
  Date: Tue, 31 Mar 2015 12:41:11 GMT
  Server: restify
  Request-Id: 365e0550-d7a3-11e4-b7d8-43b88a1e9b3c
  Response-Time: 1
  
  ö
  </code></pre>