2011-03-05 52 views
8

考慮下面的代碼如何在node.js中正確執行內容編碼?

var http = require('http'); 

http.createServer(function (request, response) { 
    response.writeHead(200, {'Content-Type': 'text'}); 
    response.write("Okay – so recently I’ve started presenting a session to various groups involving the well known IOC container 「StructureMap」", 'utf8'); 
    response.end(); 
}).listen(8080); 

我得到的輸出

好吧€「所以最近I’已經開始 呈現會話以各種團體 涉及衆所周知的IOC容器 â結構圖「,儘管 對於上述談話的內容 非常清楚,但我得到了相當大的 的反彈以示範任何事情 ,甚至遠程類似於服務 的位置。

這顯然是錯誤的 - 但它是錯誤的,因爲我已經得到了錯誤的編碼(UTF8應該這樣做......對......是嗎??)或者是錯誤的,因爲節點是做一些奇怪的?

我正在使用最新版本的節點,昨天克隆自github master。

+0

您在頁面的元標記中是否有正確的標題?文本是否已被編寫並保存在文本編輯器中,其編碼不同? – cusimar9 2011-03-05 18:54:32

+0

看下面 - 看看內容類型:-) – 2011-03-05 18:57:59

回答

10

如果您希望將它作爲帶有正確編碼的文本文件下載,則應使用text/plain; charset=utf-8內容類型。僅僅使用text是不夠的。我只是測試它,它按預期工作。將plain更改爲html以使瀏覽器在文本上使用其默認樣式。

+0

糟糕,蠢貨我。 – 2011-03-05 18:56:56

+0

我編輯了我的答案,告訴你如何讓瀏覽器對內容進行樣式化。 – 2011-03-05 18:57:40

+0

是的 - 這很酷 - 我知道這個東西:-) - 我真的想要這個純文本,因爲我將原始文件從一個地方傾倒到另一個地方 – 2011-03-05 19:12:50