2016-06-20 65 views
-1

我已經安裝在我的節點JS服務器utf8模塊:UTF8編碼不能正常工作節點JS

這裏是我的代碼

var utf8 = require('utf8'); 
console.log(utf8.encode('It’s a way of looking.')); 
//output:- It’s a way of looking. 

爲PHP它不是產生相同的輸出:

echo utf8_encode('It’s a way of looking.'); 
//output :- It’s a way of looking. 

它是節點JS中的utf8模塊中的錯誤還是我做錯了什麼?

回答

2

’是一個HTML實體。如果您沒有將輸出視爲HTML,那麼您將看到它爲’。如果你想輸出在JavaScript中的特定字符代碼,使用JavaScript轉義序列:

console.log(utf8.encode('It\u2019s a way of looking.')); 
+0

它也沒有產生正確的輸出。 –

+0

你的答案幫助了我。使用html實體模塊後,它工作。更新你的答案,我會接受它,所以它可以幫助別人。謝謝。 –

+0

@GauravSrivastava我錯誤地認爲8217是一個十六進制值而不是十進制。我已經解決了我的答案。你不需要使用'html-entities'模塊。 – JLRishe

0

它不是UTF8編碼問題,它是一個HTML實體問題

這裏是代碼: -

var Entities = require('html-entities').XmlEntities; 

    entities = new Entities(); 

    console.log(entities.decode('It’s a way of looking.')); 
    //output:- It’s a way of looking. 

謝謝@JLRishe指出。

+0

請使用var/let/const entities = – DanielKhan